tail -f grep 経由でパイプし、ファイルに出力せずにコンソールに出力します。

tail -f grep 経由でパイプし、ファイルに出力せずにコンソールに出力します。

次のコマンドを使用しています

tail -f /mydir/myfile |  grep "searchterm" >> outfile

それがなければうまくいきます-fが、-f必要なものはファイルに何も記録されません。コンソールに以下を出力します。

tail -f /mydir/myfile |  grep "searchterm"

ファイルに正しく書き込むようにコマンドを受け取るにはどうすればよいですか?

ベストアンサー1

GNUがある場合grep:

tail -f /mydir/myfile |  grep --line-buffered "searchterm" >> outfile

これによりすべての行が作成されますが、パフォーマンスが低下します。

または、より多くの出力が出るのを待ちます。プロセスを終了するには、そのtailプロセスを終了したら、終了する前にバッファをgrepフラッシュする必要があります。

おすすめ記事