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=$1 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要判斷的文件數量