将'tail -f'导入awk而不挂

时间:2012-09-28 21:58:42

标签: linux awk

这样的事情会挂起:

tail -f textfile | awk '{print $0}'

虽然grep在使用而不是awk时不会挂起。

我的目的是仅使用标准命令为某些日志输出添加颜色;但似乎tail -f中的awk管道不起作用。我不知道这是否是一个缓冲问题,但我尝试了一些没有用的方法,比如:

awk '{print $0;fflush()}'

以及How to pipe tail -f into awk

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

我遇到了与mawk几乎完全相同的问题。我认为这是由于mawk正在冲洗其缓冲区的方式,当我切换到gawk时问题就消失了。希望这有所帮助(我知道有点晚了)。

答案 1 :(得分:2)

我试过这个命令:

tail -f test | awk '{print $0;}'

它并没有挂起。每次我在test文件中添加内容时,Awk都会打印新值。

echo "test" >> test

我想你刚忘记了你的命令中的引用,因为你写了(编辑:好,在你的帖子被编辑之前)

tail -f textfile | awk {print $0}'

而不是:

tail -f textfile | awk '{print $0}'