2011-03-18 45 views
1

我想遍歷一個文本文件,一次拉出一組行。 在下面的例子,我想到grep下面AAA所有行,但在BBB停止(即,所有的以 'XXX')Grep組行

由於

例如:

------ -AAA -------
XXX
XXX
XXX
XXX
XXX
------- -------- BBB
YYY
YYY
YYY
YYY
------ AAA ---------
XXX
XXX
XXX
XXX
------ bbb-- ------
YYY

回答

3

,如果你不關心包含AAA和BBB線,這應該能滿足你的榜樣

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

如果你不想AAA和bbb線

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

或者,如果你有紅寶石(1.9+)

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