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

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

谢谢

示例:

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

【问题讨论】:

    标签: linux search grep


    【解决方案1】:

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

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

    如果你不想要 AAA 和 bbb 线

    $ awk '/bbb/{f=0}/AAA/{f=1;next}f{print}' file
    

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

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

    【讨论】:

      猜你喜欢
      • 2019-04-12
      • 2011-06-15
      • 2012-01-26
      • 1970-01-01
      • 2011-04-07
      • 2019-04-16
      • 1970-01-01
      • 1970-01-01
      • 2010-12-25
      相关资源
      最近更新 更多