我正在开发一个特定项目,在这个项目中我需要编写大量文档摘要,以便我们有一个性能测试基准.
具体来说,我需要一个可以递归遍历目录的命令,并且对于每种文件类型,通知我该类型的文件数量及其平均大小.
我已经看过如下解决方案: Unix找到平均文件大小, 如何使用单行递归打印文件名小于25个字符的文件列表?和https://unix.stackexchange.com/questions/63370/compute-average-file-size,但没有什么能让我接受我所追求的目标.
这个du和awk组合应该适合你:
du -a mydir/ | awk -F'[.[:space:]]' '/\.[a-zA-Z0-9]+$/ { a[$NF]+=$1; b[$NF]++ }
END{for (i in a) print i, b[i], (a[i]/b[i])}'
Run Code Online (Sandbox Code Playgroud)