2012-11-16 7 views
10

私はファイルからテキストを読み込み、フィールドの1つに従ってフィルタリングするプログラムを持っています。私が興味を持っているのは、このフィルタリングステップ後のデータのサイズです。 、awk '$2>=10' <myfile | du -stdinの "サイズ"を計算するためにduでパイプを使用する

私は、フィルタを適用し、どこかで出力を救うことができる、それにデュ呼び出すし、ファイルを削除しますが、ファイルは非常に大きいです:

理想的には、私のような何かを行うことができるだろうディスクへの書き込みにはしばらく時間がかかることがあります。

duが「ディスク使用量」を表していることを認識して、私はプログラムがどのように動作するかを考えると意味をなさないものと思っています。これを行う共通のユーティリティがもう1つある場合は、それを提案してください!

答えて

17

wc -cにパイプすると、パイプラインを通過するバイト数をカウントできます。

4

duは「ディスク使用量」を表します。パイプ内のデータはディスクにヒットしませんので、作業する「du」はありません。代わりにwcを使用してください。これは「単語数」です。

awk '$2>=10' < myfile | wc -c 

-cフラグがカウントされます。

関連する問題