一尘不染

如何“ grep”连续流?

linux

可以grep在连续流上使用吗?

我的意思是说是一条tail -f <file>命令,但grep在输出中仅保留我感兴趣的行。

我已经尝试过了,tail -f <file> | grep pattern但是似乎grep只能在tail完成后才能执行,也就是说永远不会执行。


阅读 275

收藏
2020-06-02

共1个答案

一尘不染

grep使用BSD grep(FreeBSD,Mac OS X等)时,打开的行缓冲模式。

tail -f file | grep --line-buffered my_pattern

您无需为GNU
grep(几乎在任何Linux上使用)执行此操作,因为它会默认刷新(对于其他类似Unix的版本,如SmartOS,AIX或QNX,则为YMMV)。

2020-06-02