【发布时间】:2016-12-19 13:48:26
【问题描述】:
问题陈述:列出目录中的文件数。 注意:目录可能包含子目录或文件,但不能同时包含两者。 需要明智地列出文件目录的数量。 这是一段代码。
#!/usr/bin/sh
directory_navigate()
{
path=$1
cd $path
dir_count=`ls -l|grep '^d'|wc -l`
if [ $dir_count -gt 0 ]
then
for dir in `ls`
do
sub_path="$path/$dir"
directory_navigate $subpath
done
else
sub_path=`pwd`
file_count $sub_path
return
fi
}
file_count ()
{
path=$1
cd $path
count=`ls|wc -l`
echo "Count of files in $path is $count"
return
}
main()
{
filepath=/var/prod/data/extract/tbill
directory_navigate $filepath
return
}
main
这会引发以下错误:递归太深
【问题讨论】:
-
只使用
find怎么样?
标签: bash function recursion count hp-ux