此命令行是否存在问题:
Foo | awk '/Value1/{printf("%s,",$2)} /Value2/{printf("%s\n",$6)}' | awk '(NR % 5 == 1){print $0}'
其中Foo
是自定义程序。这个命令以前工作正常。但是,自最近更新自定义分发(基于Yocto)。它似乎不再起作用了。奇怪的是awk '(NR % 5 == 1){print $0}'
没有执行,整个命令也没有显示任何内容......
请问好吗?提前感谢您的帮助
答案 0 :(得分:0)
如果Foo | cmd
产生输出但Foo | cmd | awk '{print}'
没有产生,那么您的问题就是缓冲。 Google stdbuf line buffering
(特别是http://www.pixelbeat.org/programming/stdio_buffering/)并将其用作:
Foo | stdbuf -o0 awk '...' | awk '...'