我有一个包含关于不同用户的行的日志文件,我正在实时拖曳这个文件。我想筛选出那些只关系到我指定用户,前行:1234的日志条目是这样的:我如何使用动态grep模式来定尾文件?
ID:101 Username=1234
ID:102 Username=1234
ID:999 UNWANTED LINE (because this ID was not assigned to user 1234)
ID:102 some log entry regarding the same user
ID:123 UNWANTED LINE (because this ID was not assigned to user 1234)
ID:102 some other text
ID:103 Username=1234
ID:103 blablabla
动态ID分配给用户的线路,如“ID :101用户名= 1234“。以该ID开头的任何后续行都属于同一用户,并且需要显示。我需要一个动态的尾巴,将获得与指定的用户(1234)的所有ID和筛选之前的线路如下:
ID:101 Username=1234
ID:102 Username=1234
ID:102 some log entry regarding the same user
ID:102 some other text
ID:103 Username=1234
ID:103 blablabla
我需要先过滤线,其中“用户名= 1234”被发现,然后提取“ID:???”从那行开始,然后尾部包含“ID:???”的所有行。当找到另一行带有“用户名= 1234”的行时,提取新的ID并使用它显示具有这个新ID的后续行。
我可以链接greps来过滤ID,当我使用猫,但它不起作用,当我把它们链接在一个尾巴后。但即使我可以,我如何“观察”一个新的ID值并动态更新我的grep模式?
在此先感谢!
非常感谢!这似乎正是我正在寻找的!但是,我如何使用它,以便它能像尾巴一样行事(即在添加到数据中时打印新行?)。 –
使用'tail -f logfile | awk ...'无限期地继续阅读。 –
你真棒!这就是它!只是最后一件事......我意识到ID:XXX并不一定总是在位置$ 1 ......有没有办法将ID与正则表达式匹配,而不管它在行中的位置($ 1,$ 2,...)。 ..)? –