0
私は10Gログファイル上で実行する必要がgrep
のGNU並列を使用して一連のgrepsを実行しますか?
grep -E '[0-9]{3}\.[0-9]+ ms' file.log | grep -v "Cycle Based" | grep -Ev "[0-9]{14}\.[0-9]+ ms" > pruned.log
の次の文字列を持っています。私はGNU parallel
を使用しようとしていますので、少し待つよりも少し時間がかかっていますが、を使ってgrep
のチェーンをどのように実行できるかはわかりません。
これは、単一のgrep
最速を実行する方法の問題ではない、これはファイルをgrepをすると、ディスクの場合に通常の制限要因並列
[最速のgrep(の可能性のある重複https://stackoverflow.com/questions/9066609/fastest-possible-grep) –
@MichaelFoukarakis、重複はありません。私はすでにその質問を読んでおり、それは私が探しているものではありません。 –
すべての 'grep' cmdsをシェルスクリプトに入れ、' myBigGrep.sh file.log'のように呼び出すことができ、パイプの前にあるファイル名を '$ {@}'に置き換えることができます.'parallel'は、処理する複数のファイル大きなファイルを 'file001.log、file002.log ...'に分割する時間を費やしたいですか?それはうまくいくかもしれませんが、テストに時間がかかります。 log-rotateをインストールするのに時間を費やすほうがよいので、毎日(毎時?)のログファイルがあります。がんばろう。 – shellter