如何使用du从stdin获取路径并计算总大小?

Han*_*Sun 2 unix linux shell

可能重复:
使用find&du获取文件夹的总大小

我可以使用du这样来获取每个文件的文件大小 stdin

find . -name "*.java" -exec du -h {} \;
Run Code Online (Sandbox Code Playgroud)

但我不能得到总大小..有没有人有这个想法?谢谢!

jin*_*tao 6

这里回答:

使用find&du获取文件夹的总大小

使用xargs(1)代替-exec:

find . -name bak -type d | xargs du -ch

对找到的每个文件执行命令(查看find(1)文档).管道到xargs允许您聚合这些文件名,并且只运行du一次.

在你的情况下,它将是:

find . -name "*.java" | xargs du -ch
Run Code Online (Sandbox Code Playgroud)