像这样的东西会挂起:
tail -f textfile | awk '{print $0}'
whilegrep
使用而不是 awk 时不会挂起。
我的实际意图是仅使用标准命令为某些日志输出添加颜色;tail -f
但是,管道似乎awk
不起作用。我不知道这是否是缓冲区问题,但我尝试了一些不起作用的方法,例如:
awk '{print $0;fflush()}'
有任何想法吗?
像这样的东西会挂起:
tail -f textfile | awk '{print $0}'
whilegrep
使用而不是 awk 时不会挂起。
我的实际意图是仅使用标准命令为某些日志输出添加颜色;tail -f
但是,管道似乎awk
不起作用。我不知道这是否是缓冲区问题,但我尝试了一些不起作用的方法,例如:
awk '{print $0;fflush()}'
有任何想法吗?
我在mawk遇到了几乎完全相同的问题。我认为这是由于 mawk 刷新其缓冲区的方式,当我切换到 gawk 时问题就消失了。希望这会有所帮助(我知道有点晚了)。
我试过这个命令:
tail -f test | awk '{print $0;}'
它不会挂起。每次我在test
文件中添加内容时,Awk 都会打印新值。
echo "test" >> test
我认为您只是忘记了命令中的引号,因为您写道(编辑:好吧,在您的帖子被编辑之前):
tail -f textfile | awk {print $0}'
代替 :
tail -f textfile | awk '{print $0}'