当前位置: > shell编程 >

列目录树的SHELL脚本

时间:2014-09-20 18:45来源:linux.it.net.cn 作者:it
其实就是递归的扫描目录树
#!/bin/ksh
#The path where this script is located must be added in $PATH
#to ensure it could be called recursively.
#Feel free to use this script,it is just a practice of liuyang.
#2006-5-15,Beijing
#Usage: dtree.sh SEARCH_DIR
SEARCH_DIR=$1
PREFIX=$2
IS_LAST=$3
if [ -z $IS_LAST ]; then
  echo "`pwd`/$SEARCH_DIR"
  IS_LAST=Y
else
  echo "$PREFIX+----$SEARCH_DIR"
fi
DIRS=`ls -l $SEARCH_DIR|egrep "^d"|sed "s/.* \([^ ]*\)/\1/"`
CNT=`echo "$DIRS"|wc -l|sed "s/ *//g"`
if [ $CNT = 0 ]; then
   exit
fi
cd $SEARCH_DIR
i=0
for DIR in $DIRS
do
i=`expr $i + 1`
if [ $i = $CNT ]; then
   CHILD_LAST=Y 
else
   CHILD_LAST=N 
fi
if [ $IS_LAST = Y ]; then
    dtree.sh $DIR "$PREFIX     " $CHILD_LAST
else
    dtree.sh $DIR "$PREFIX|    " $CHILD_LAST
fi
done
(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容