3

像这样的东西会挂起:

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

whilegrep使用而不是 awk 时不会挂起。

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

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

以及如何将 tail -f 导入 awk

有任何想法吗?

4

2 回答 2

3

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

于 2012-11-11T19:26:22.030 回答
1

我试过这个命令:

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

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

echo "test" >> test

我认为您只是忘记了命令中的引号,因为您写道(编辑:好吧,在您的帖子被编辑之前)

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

代替 :

tail -f textfile | awk '{print $0}'
于 2012-09-28T22:12:37.737 回答