我有一个目录,其中包含以编程方式生成的大量子目录(~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