其实就是递归的扫描目录树
#!/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) |