查找文件夹和子文件夹中的文件数量?

我想查找文件夹及其所有子文件夹下的文件数的总数。

可能是这样的

find . -type f | wc -l

会做的伎俩。 尝试从父文件夹中的命令。

使用tree命令。 您可能需要安装tree包。

它将列出给定文件夹下的所有文件和文件夹,并在最后列出摘要。

要在当前目录的根目录下计算文件(甚至没有扩展名的文件),请使用:

 ls -l | grep ^- | wc -l 

要从当前目录的根目录递归计算文件(甚至没有扩展名的文件),请使用:

 ls -lR | grep ^- | wc -l 

最快最简单的方法是使用tree 。 它的速度受输出终端的限制,因此如果将结果传递给tail -1 ,您将立即获得结果。 您还可以使用-L选项控制您喜欢结果的目录级别。 对于彩色输出,请使用-C 。 例如:

 $ tree share/some/directory/ | tail -1 558 directories, 853 files $ tree -L 2 share/some/directory/ | tail -1 120 directories, 3 files 

如果它还没有,你可以在这里得到它。

 find -type f -printf . | wc -c 

不计算find的输出行,因为包含99个换行符的文件名将计为100个文件。

对路径中的每个文件夹使用此命令

 for D in *; do echo $D; find $D -type f| wc -l; done 

find似乎比树快,所以我用下面的方法计算当前工作目录的每个目录中的文件(忽略CWD中的文件),允许目录有空格:

ls -d */ | while read dir_line do echo -n "$dir_line :" find "$dir_line" -type f | wc -l done

我自己也选择这个选项:

ls -alR | grep -c ^ –

你可以使用find . | wc -l find . | wc -l

find . 将列出从当前文件夹开始的所有文件和文件夹以及theire内容。
wc -l计算find的结果