我有一个增长 test.log,如下所示:
abc ID1
aaa ID2
abb ID3
ccc ID4
我希望保存相应的ID“。* a。 b。”到日志文件,就像这样
$ tail -f test.log | grep --line-buffered '.*a.*b.*' | awk '{print $2}' > a_ID.log
我试过
$ tail -f test.log | grep '.*a.*b.*'
$ tail -f test.log | grep --line-buffered '.*a.*b.*' > a.log
两者都运行正常,但是应该用awk做什么?
# No output
$ tail -f test.log | awk '{print $2}'
# Obviously nothing in ID.log
$ tail -f test.log | awk '{print $2}' > ID.log
awk是否像grep一样有' - line-buffered'?怎么样sed?
答案 0 :(得分:0)
你能试试吗
$ tail -f test.log | awk '{ print $2; fflush(); }'
从手册页中说它会刷新标准输出。
答案 1 :(得分:0)
这似乎适用于mawk。
$ tail -f test.log | awk -W interactive '{print $2}' > ID.log
-W interactive
使mawk写入无缓冲到stdout。