grep 组线

Posted

技术标签:

【中文标题】grep 组线【英文标题】:Grep group of lines 【发布时间】:2011-03-18 14:13:52 【问题描述】:

我想遍历一个文本文件,一次提取几行。 在下面的示例中,我想对 AAA 以下的所有行进行 grep,但在 bbb 处停止(即所有的 'xxx')

谢谢

示例:

--------AAA-------- xxx xxx xxx xxx xxx --------bbb-------- 年年 年年 年年 年年 ------AAA--------- xxx xxx xxx xxx ------bbb-------- 年年了

【问题讨论】:

【参考方案1】:

如果您不关心包含 AAA 和 bbb 行,这对于您的示例应该足够了

$ awk '/AAA/,/bbb/' file

如果你不想要 AAA 和 bbb 线

$ awk '/bbb/f=0/AAA/f=1;nextfprint' file

或者,如果你有 Ruby(1.9+)

$ ruby -0777 -ne 'puts $_.scan(/-+AAA-+(.*?)-+bbb-+/m) ' file

【讨论】:

以上是关于grep 组线的主要内容,如果未能解决你的问题,请参考以下文章

小猿圈之Linux使用grep筛选多个条件及grep常用过滤命令

使用grep命令怎么过滤多个条件

什么是grep -v grep??

grep简析

【笔记】grep 命令 - 查找文件内容

linux grep查询结果再过滤