计算子文件夹内的文件并对显示进行排序

计算子文件夹内的文件并对显示进行排序

所以我有以下脚本

find "my-path-here"  -maxdepth 1 -mindepth 1 -type d -exec sh -c 'echo "{} : $(find "{}" -type f | wc -l | sort)" file\(s\)' \;

它计算所有文件夹(深度=1)上的文件(递归)

下面的屏幕截图是针对 /usr 运行的,可以看出,文件夹不是按字母顺序排序的。

关于如何更改命令以使其按字母顺序排序有什么想法吗?

谢谢

在此输入图像描述

答案1

一种方法是,假设 GNUfind并假设你的文件名没有嵌入换行符:

find /some/dir -type f -printf '%P\n' | grep / | cut -d/ -f1 | sort | uniq -c

示例输出:

 5322 X11R6
  316 bin
   89 lib
 2165 libdata
   50 libexec
19220 local
   10 mdec
  206 sbin
 8970 share

如果需要,您可以使用awk或来格式化它。sed

相关内容