为了账号安全,请及时绑定邮箱和手机立即绑定

如何‘GREP’一个连续的溪流?

如何‘GREP’一个连续的溪流?

红糖糍粑 2019-07-12 15:56:33
如何‘GREP’一个连续的溪流?这能用吗grep在一条连续不断的小溪上?我的意思是tail -f <file>命令,但是grep为了保持我感兴趣的线条。我试过tail -f <file> | grep pattern但似乎grep只能执行一次tail完成了,也就是说永远不会。
查看完整描述

3 回答

?
HUX布斯

TA贡献1876条经验 获得超6个赞

打开grep使用BSDgrep时的行缓冲模式(FreeBSD、MacOSX等)

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

您不需要在GNUgrep(几乎任何Linux上都使用)上这样做,因为默认情况下它会刷新(YMMV用于其他Unix-比如SmartOS、AIX或QNX)。


查看完整回答
反对 回复 2019-07-12
?
梦里花落0921

TA贡献1772条经验 获得超5个赞

我用tail -f <file> | grep <pattern>一直。

它将等到grep刷新,而不是直到它完成(我正在使用Ubuntu)。


查看完整回答
反对 回复 2019-07-12
?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

在大多数情况下,你可以tail -f /var/log/some.log |grep foo一切都会好起来的。

如果需要对正在运行的日志文件使用多个grep,并且发现没有输出,则可能需要将--line-buffered切换到你的中间GREP(S),如下所示:

tail -f /var/log/some.log | grep --line-buffered foo | grep bar


查看完整回答
反对 回复 2019-07-12
  • 3 回答
  • 0 关注
  • 599 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信