我只需要在多个日志文件中找到匹配模式行的下一行。我在这个网站上找到了下面的 awk 命令

Posted

技术标签:

【中文标题】我只需要在多个日志文件中找到匹配模式行的下一行。我在这个网站上找到了下面的 awk 命令【英文标题】:I need to find only next line to matched pattern line in multiple log files. I found below awk command on this site 【发布时间】:2014-05-15 13:01:22 【问题描述】:

我只需要在多个日志文件中找到第一个匹配行的下一行。我在这个网站上找到了下面有用的 awk 命令。它打印每个匹配行的下一行。但我只需要第一场比赛。请帮忙。

awk '/Linux/getline;打印'文件

猫文件 Unix Linux 索拉里斯 AIX SCO Linux 红帽

上面的命令打印: 索拉里斯 红帽

但我只需要第一个匹配行的下一行:即 索尔莱斯

我可以使用 head 命令,但我认为对于大文件确实不推荐

【问题讨论】:

【参考方案1】:

打印后使用退出。它不会一直循环遍历文件

猫文件 | awk '/Linux/getline;打印;退出'

【讨论】:

那是 grt.. 明白了。非常感谢:)

以上是关于我只需要在多个日志文件中找到匹配模式行的下一行。我在这个网站上找到了下面的 awk 命令的主要内容,如果未能解决你的问题,请参考以下文章

如何使用dc_shell中的/ bin / sed命令删除与下一行中调用的下一个新模式匹配的模式

文本处理三剑客之 Sed ——高级编辑命令

linux利用grep查看打印匹配的下几行或前后几行的命令

sed

vim-扩展命令行模式

vim-扩展命令行模式