我正在尝试制作一个能够观看某些日志的脚本。我有一个请求日志与每个请求格式化这样的事情,GNU awk中的缓冲区记录
---
id=273482
Result=Error
---
id=342345
Result=Success
---
第二个日志,其中每行都有请求的ID。我需要实时观看请求日志并将其与第二个日志交叉引用。
tail -f requestLog | awk \"BEGIN { RS = \"---\" } /Error/\" | grep --line-buffered id | sed -u ...
我尾-f requestLog,使用awk在“---”上拆分记录,然后grep出id行。然后,我将所有内容传递给sed -u以提取id和xargs,以便grep第二个日志中与坏请求相关的行。
问题是结果出来真的延迟了,因为某些东西(我认为awk)缓冲错误。我怎样才能使awk读取输入不间断,并在每次看到坏记录时刷新输出?顺便说一下,我使用的是GNU awk。