bash - 递归列出每个目录中的条目数
问题描述
我有一个包含子目录的目录,子目录又包含子目录,其中包含文件。如何递归列出每个子目录中的文件数?
从这个问题我知道
du -a | cut -d/ -f2 | sort | uniq -c | sort -nr
将列出当前目录级别的文件数。我怎样才能递归地做到这一点?
我也看到了这种可能性,但是我无法让它解决我的具体问题。
解决方案
find 和 sh 的结合可以很容易地做到这一点。例如:
find . -type d -exec sh -c '
for d; do
set -- "$d/"*
printf "%d\t%s\n" $# "$d"
done' _ {} +
推荐阅读
- hana - 如何根据“时间维度”在计算视图中为每一天创建一个“历史”表
- angularjs - 是否可以将 ng-class 与 ng-style 结合使用
- unit-testing - 为发布管道创建任务组时搜索文件夹值
- excel - 如何使用条件语句(隐藏/取消隐藏列和锁定/保护单元格)调试受保护的工作表,使其工作得更快
- html - 即使显示最大宽度,分词也不起作用
小于最大值
- android - Colors.xml 正在生成一些不完整的与 gradle 相关的代码,即使替换为正确的代码似乎也不起作用
- sql - 查询与多个实体类型相关的表
- php - Doctrine EntityManager 已关闭 - 如何继续保存对象
- python - 如何将动态数据透视查询存储到 Pandas 数据框中?
- swift - Jazzy 无法解析 .swift 文件