用于列出目录中所有文件类型及其平均大小的命令

Mar*_*doz 4 unix macos bash

我正在开发一个特定项目,在这个项目中我需要编写大量文档摘要,以便我们有一个性能测试基准.

具体来说,我需要一个可以递归遍历目录的命令,并且对于每种文件类型,通知我该类型的文件数量及其平均大小.

我已经看过如下解决方案: Unix找到平均文件大小, 如何使用单行递归打印文件名小于25个字符的文件列表?https://unix.stackexchange.com/questions/63370/compute-average-file-size,但没有什么能让我接受我所追求的目标.

anu*_*ava 6

这个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)