首页 > 解决方案 > 递归列出每个目录中的条目数

问题描述

我有一个包含子目录的目录,子目录又包含子目录,其中包含文件。如何递归列出每个子目录中的文件数?

这个问题我知道

du -a | cut -d/ -f2 | sort | uniq -c | sort -nr

将列出当前目录级别的文件数。我怎样才能递归地做到这一点?

我也看到了这种可能性,但是我无法让它解决我的具体问题。

标签: bash

解决方案


find 和 sh 的结合可以很容易地做到这一点。例如:

find . -type d -exec sh -c '
for d; do
  set -- "$d/"*
  printf "%d\t%s\n" $# "$d"
done' _ {} +

推荐阅读