当然,find -exec
可以让我用来stat
获取文件的大小,和一个小的Python的一行来概括是:计算文件列表的大小,而不使用find/-exec
find . -name "*.sh" -exec stat -f '%z' {} \; | python -c'import sys; print sum(int(x) for x in sys.stdin)'
我想可能会使用bc
来制造更多类似bash的效果。
但是,(问题),我已经有一个文件列表,find -exec
已经出来。我如何简洁而优雅地获取管道中的文件大小。我可以使用一个xargs
和du|cut
管道,但尽管在xargs上有-s
,但我冒着冒起命令长度或不得不过度分配到千兆字节的风险。
我希望的东西,可以计算的磁盘使用情况,并在标准的中心的方式做到这一点:
cat myList.txt -exec stat -f '%z' {} \; | python -c'import sys; print sum(int(x) for x in sys.stdin)'
猫不具有虽然:-(
在此配置中,xargs是否对命令长度有上限?我的意思是通过这样做 - 而不是让xargs从标准中拉出来。 我应该在之前说过,但我在Mac上,而且这并没有-a的选择,不幸的是。 –
'-a'选项不会影响最大命令长度。 – hek2mgl