私は次のコマンドを使用しています
tail -f /mydir/myfile | grep "searchterm" >> outfile
-f
がなくても問題なく動作しますが、必要な-f
があれば、ファイルには何も書き込まれません。次のコンソールへの出力は問題ありません
tail -f /mydir/myfile | grep "searchterm"
コマンドをファイルに正しく書き出すには、何をする必要がありますか?
GNU grep
:
tail -f /mydir/myfile | grep --line-buffered "searchterm" >> outfile
これは、パフォーマンスの低下のために、すべての行を書き込みます。
または、出力が増えるのを待ちます。プロセスを強制終了する場合は、tail
プロセスを強制終了するだけで、grep
が終了する前にバッファがフラッシュされます。
Grepはおそらく出力をバッファリングしていて、何もないように見せていますか?試してみてください:
tail -f /mydir/myfile | grep --line-buffered "searchterm" >> outfile