Luo Hao

Linux——统计文件夹下文件的个数

rehoni / 2021-06-24


统计文件夹下文件的个数

如果运行ls -l会输出当前目录下的文件以及目录的信息。那么只要在当前目录下的输出结果中,统计出是文件的行的数目,就可以统计出当前目录下的文件个数,所以要找出命令ls -l输出的文件的信息与目录的信息的不同之处。

不难看出,如果是文件的话,该行的字符串信息的第一个字符显示的是“-”,如果是目录的话,该行的字符的第一个显示的是"d",意即directory,找到这两者之间的区别,运行能够判别第一个字符的命令.

ls -l

image-20240611142131498

ls -l | grep "^-"

其中“^-”是一个正则化项,表示字符串的第一个字符,提取第一个字符为-的,就是文件。

运行两次管道命令,即ls -l | grep “^-” | wc -l,就能统计文件夹下文件的个数

统计文件夹下目录的个数

ls -l | grep "^d" | wc -l

统计文件夹下文件个数,包括子文件

ls -lR | grep "^-"| wc -l

统计文件夹下目录个数,包括子目录

ls -lR | grep "^d"| wc -l

递归统计出文件夹下所有文件的数目

find ./ -type f| wc -l

递归统计出文件夹下所有子文件夹的数目

find ./ -type d | wc -l # 注意,这里面包含了当前文件夹,所以统计出来减一即可

参考

Linux上统计文件夹下文件个数以及目录个数_OceanStar的博客-CSDN博客_linux 统计目录下文件个数