不能正常工作,請考慮以下命令:fflush在AWK
bash$ seq 1 3 | awk '{print $0 | "cat"; print "0"}'
0
0
0
1
2
3
bash$ seq 1 3 | awk '{print $0 | "cat"; fflush("cat"); print "0"}'
0
0
0
1
2
3
bash$ seq 1 3 | awk '{print $0 | "cat"; close("cat"); print "0"}'
1
0
2
0
3
0
爲什麼沒有fflush
命令在這裏工作,而close
作品。那就是:產生預期的輸出。
+1感謝。所以如果你想混合來自'awk'的輸出和來自管道的輸出,你應該總是立即關閉管道(爲了得到正確的輸出)? –
不是我的強項,因爲我不認爲我曾經這麼做過,所以我的意見不值得。抱歉。 –