我在linux上的目录中有以下结构:
-dirA
-dir1
-dirX
-dirY
-dir2
-dirX
-dirY
-dir2
-dirX
-dirY
-dir2
-dirX
-dirY
-dir2
-dirX
-dirY
-dir2
-dirX
-dirY
.
.
.
.
.
.
.
.
.
-dirn
-dirX
-dirY
我希望获得有关文件数量的详细信息,如下所示:
dir1
dirX = count
dirY = count
dir2
dirX = count
dirY = count
dir3
dirX = count
dirY = count
......
......
dirn
dirX = count
dirY = count
注意这里dirX和dirY的文件夹名称在子目录dir1,dir2 ..... dirn
内是相同的我使用了以下命令,但它给出了累积的结果:
find $DIR -exec stat -c '%F' {} \; | sort | uniq -c | sort -rn
和这个
find . -type f | wc -l
答案 0 :(得分:0)
一个简单的while
循环就足够了
find "$DIR" -type d -print0 |
while IFS= read -r -d '' path; do
echo -e "$(ls -A -- "$path" | wc -l)\t$path"
done
如果您希望按文件数排序,可以在命令末尾附加| sort -n
(在done
关键字后面)。