如何用shell遍历一个目录下的所有子目录
1个回答
展开全部
SAVEIFS="$IFS"
IFS="
"
hypen="------------------------------------------------------------------------------------"
printhypen()
(
tab=$(( $1 * 4 ))
if [ $tab -gt 0 ]
then
printf "%-.${tab}s " "$hypen"
fi
)
traverdir()
(
pushd "$1" > /dev/null 2>&1
tab="$2"
for file in `ls -1`
do
if test -d "$file"
then
printhypen $tab
echo "<dir> $file"
traverdir "$file" "$((tab + 1 ))"
else
printhypen $tab
echo "$file"
fi
done
popd > /dev/null 2>&1
)
read -p "请输入要遍历的目录:" dir
traverdir "$dir" 0
IFS="$SAVEIFS"
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询