tree命令统计子目录和文件数量

很多情况下,需要统计某个目录下子目录和文件的数量,网上大把是通过
ls -l |egrep "^d" |wc -l

ls -l |egrep "-l" |wc -l
遇到子目录多的情况下还得用for循环把子目录都挨个ls一遍。

这样行不行?行。
但是粗暴、霸蛮,不优雅!

但如果先使用tree --help看一下,会发现可以使用 -J 参数输出为json格式,格式中是个数组,其中第二个元素(从0开始算起)是个report。

如下:

$ tree -J |jq .[1]
{
  "type": "report",
  "directories": 0,
  "files": 109
}

所以,通过report获取json的值那就绅士很多了。

  • 统计子目录(包含软链接)
$ tree -J |jq .[1].directories
  • 统计文件数(包含软链接)
$ tree -J |jq .[1].files
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容