1、 统计当前文件夹下文件的个数
ls -l |grep "^-"|wc -l
2、 统计当前文件夹下目录的个数
ls -l |grep "^d"|wc -l
3、统计当前文件夹下文件的个数,包括子文件夹里的
ls -lR|grep "^-"|wc -l
4、统计文件夹下目录的个数,包括子文件夹里的
ls -lR|grep "^d"|wc -l
grep "^-"
这里将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是 ^d
wc -l
统计输出信息的行数,因为已经过滤得只剩一般文件了,所以统计结果就是一般文件信息的行数,又由于一行信息对应一个文件,所以也就是文件的个数。
判断目录下文件数与指定文件数量是否相等
fileNum.sh
#! /bin/sh
num=$
DR=`ls`
for dir in $DR
do
if [ -d "$dir" ]; then
cd "$dir"
fileNum=`ls -l |grep "^-"|wc -l`
if [ "$num" -ne "$fileNum" ];then
echo `pwd` >> ../error.txt
fi
cd -
fi
done
./fileNum.sh 5要判断的文件数量