这样的事情会挂起:
tail -f textfile | awk '{print $0}'
虽然grep
在使用而不是awk时不会挂起。
我的目的是仅使用标准命令为某些日志输出添加颜色;但似乎tail -f
中的awk
管道不起作用。我不知道这是否是一个缓冲问题,但我尝试了一些没有用的方法,比如:
awk '{print $0;fflush()}'
以及How to pipe tail -f into awk
有什么想法吗?
答案 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}'