我正在使用以下命令
tail -f /mydir/myfile | grep "searchterm" >> outfile
如果没有它,-f
它可以正常工作,但是如果有了-f
我需要的 ,则不会将任何内容写入文件。以下输出到控制台就好了
tail -f /mydir/myfile | grep "searchterm"
我需要做什么才能让我的命令正确写入文件?
答案1
如果你有 GNUgrep
:
tail -f /mydir/myfile | grep --line-buffered "searchterm" >> outfile
这会写每一行,但会降低性能。
或者,等待更多输出。如果您要终止进程,只需终止该tail
进程,缓冲区应在grep
退出前刷新。
答案2
grep 是否缓冲了输出,使其看起来好像没有?尝试:
tail -f /mydir/myfile | grep --line-buffered "searchterm" >> outfile