博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

好想好好爱你!

badb0y.cublog.cn


linux下的实现WIN下tree的shell
 
 
#!/bin/sh
find ./ -name "*" -o -name ".*" 2>/dev/null |sed -e 's/^\.//' |sed -n '2,$p' | while read line
do
  a=`echo $line |awk -F\/ '{print NF}'`
  a=$((a-2))
  i=1
  case $a in
  0) echo $line |sed -e 's/\//|---/' ;;
  *) while [ ! $i -gt $a ]; do
       line=`echo $line |sed -e 's/\/[^\/]*/|   /'`
       i=$((i+1))
     done
     echo $line |sed -e 's/\//|---/' -e 's/  */   /g';;
  esac
done

发表于: 2006-04-19 ,修改于: 2006-04-19 18:47,已浏览779次,有评论1条 推荐 投诉


网友评论
内容:
#!/bin/bash
[ -z $1 ] && exit 1
_P=${1%/};_HEAD="|  "
NUM=$(echo $1/|grep -ro /|wc -l)
echo ${_P##*/}
find $1/* |while read Line
  do
        _N=$(echo $Line|grep -ro /|wc -l)
        for ((_N;_N>$NUM;_N--));do echo -n "$_HEAD";done
        echo "|-- ${Line##*/}"
  done
xinyv 评论于:2008-02-22 15:09:30 (211.167.237.★)

发表评论