當然,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