获取每个目录中的文件数量

获取每个目录中的文件数量

我有一个目录,其中包含以编程方式生成的大量子目录(~800)。我想统计每个子目录中的文件数量,以检查是否存在异常(如果代码在运行时损坏,则某些文件将丢失)。有什么快速方法可以做到这一点?我正在寻找的输出类型是:

Name_of_Folder_1 [# of files in Folder 1]   
Name_of_Folder_2 [# of files in Folder 2]
...

答案1

这将为您提供当前目录的每个子目录中的文件数,处理任何奇怪的文件名(使用 gnu find)。

find . -maxdepth 2 -mindepth 2 -type f -printf "%h\0" | uniq -zc | tr '\0' '\n'

答案2

假设您的目录名称中没有空格:

for dir in $(find . -type d); do
    echo "${dir}: $(find ${dir} -maxdepth 1 -type f | wc -l)"
done

相关内容