並列に実行され、複数のファイルから文字列を検索するスクリプトを作成する必要があります。
さまざまなオプションを試しましたが、プロセッサが遅くなりました。
ベストアンサー1
ファイルが別のディスクにある場合は、grep
各ディスクでコマンドを実行します。
同じディスク上のファイルの場合、ボトルネックはディスクから読み取られています。複数のファイルを並列に読み込むと、速度が悪くなります。
ファイルがRAID-0アレイにある場合は、grep
両方のコマンドを同時に実行して速度を上げることができます。実際に時間を取得していることを確認するには、ベンチマークテストを実行してください。低技術アプローチ:
grep file1 file2 file3 &
grep file4 file5 file6
そしてGNUパラレル:
parallel -j 2 grep ::: file1 file2 file3 file4 file5 file6
以下からファイルを取得する場合find
:
find … -print0 | parallel -0 -j 2
grep
覚えておいてください:ファイルが同じディスクにある場合は、単一のコマンドが最も高速です。