2011-03-18 5 views
1

나는 한 번에 한 그룹 씩 줄을 꺼내 텍스트 파일을 가로 지르고 싶습니다. 아래의 예에서 , 내가 AAA 아래의 모든 라인을 grep을하지만, 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 
을하지 않으려면