再帰的にディレクトリのサイズを見つけて合計を取得します。

再帰的にディレクトリのサイズを見つけて合計を取得します。

このコマンドを使用して、必要なフォルダを見つけてサイズを計算します。

find . -type d -name 'tmp_c*' | xargs du -hcs {} \; + 

私のバージョンのfindは-execをサポートしていません。しかし、これはうまくいくかもしれません。しかし、私の検索文字列を含むディレクトリの総数が正しいかどうかはわかりません。命令を実行してlessに接続すると、各フォルダのサイズを計算した後、時々合計を出力することがわかります。このように:

140K    ./r/g/userid/attach/tmp_c_241091464_2
68K     ./r/g/userid/attach/tmp_c_58367014_undefined
2.3G    total

出力をファイルにリダイレクトしてから合計をgrepすると、次のような結果が得られます。

2.3G    total
978M    total
1.1G    total
2.0G    total
1.1G    total

考えるこれは私に正しい番号を与えます。しかし、このコマンドをさらに一歩進め、全体の内容を一行にまとめるにはどうすればよいですか?

ベストアンサー1

find . -type d -name 'tmp_c*' -print0 | du -hcs --files0-from -

これは(十分に新しい?)GNUバージョンfinddu

おすすめ記事