1

次のコマンドを使用してdu、ディレクトリのサイズを取得しています。

du /tmp/dir1

これにより、ファイルの合計サイズが生成されました。

7   /tmp/dir1

次に、詳細を解析して使用します。

このフォルダは.txttxrファイルでいっぱいです。ファイルの合計サイズにのみ関心があり*.txtます。

duコマンドを変更して、ファイルのサイズだけを 1 行で出力する方法はあり*.txtますか?

4

5 に答える 5

2

ファイルのリストをコマンドに渡しますdu。例えば:

du -s /tmp/dir1/*.txt

合計サイズのみを取得するための可能な解決策は、du次のように の出力の最後の行を取得することです。

du -c /tmp/dir1/*.txt | tail -1
于 2014-12-16T10:58:44.113 に答える
2

du出力をフィルタリングする簡単な方法がありません。findwithを使用しstatてファイルサイズを取得し、それawkを合計することができます。

$ find /tmp/dir1 -name '*.txt' -exec stat -c %s {} + | awk '{s+=$1} END {print s}' 

stat互換性のない引数のため、これは Linux/GNU システムでのみ機能することに注意してください。

于 2014-12-16T10:59:06.543 に答える
1

--exclude次のオプションを使用します。

du --exclude '*.krt' /tmp/dir1
于 2014-12-16T11:01:31.113 に答える
0

以下のコマンドを使用して、ディレクトリとファイルのサイズを確認することもできます。

パス ( /tmp/dir1 )du -sh *またはdu -sh /tmp/dir1

  • s はディレクトリの合計を表します。
  • h は人間が読める形式を表します。
于 2014-12-16T19:25:31.430 に答える