Reputation: 2627
I'd like to traverse a text file a pull out groups of lines at a time. In the example below, I'd like to grep all lines below AAA but stop at bbb (ie all of the 'xxx')
Thanks
example:
-------AAA-------
xxx
xxx
xxx
xxx
xxx
-------bbb--------
yyy
yyy
yyy
yyy
------AAA---------
xxx
xxx
xxx
xxx
------bbb--------
yyy
Upvotes: 1
Views: 1452
Reputation: 25599
if you don't care about inclusion of AAA and bbb lines, this should suffice for your example
$ awk '/AAA/,/bbb/' file
if you don't want AAA and bbb lines
$ awk '/bbb/{f=0}/AAA/{f=1;next}f{print}' file
Alternatively, if you have Ruby(1.9+)
$ ruby -0777 -ne 'puts $_.scan(/-+AAA-+(.*?)-+bbb-+/m) ' file
Upvotes: 3