3번 발생마다 패턴 추출/인쇄

3번 발생마다 패턴 추출/인쇄

중지 모드까지 줄을 추출/인쇄해야 합니다. 이는 시작 패턴이 세 번째로 나타날 때마다, 즉 ERROR_FILE_NOT_FOUND파일이 끝날 때까지 발생해야 합니다. 다음은 로그 파일의 예입니다.

ERROR_FILE_NOT_FOUND
some text
ERROR_FILE_NOT_FOUND
some text
ERROR_FILE_NOT_FOUND
Extract line 1
Extract line 2
Extract line 3
Stop_pattern
some text
ERROR_FILE_NOT_FOUND
some text
ERROR_FILE_NOT_FOUND
some text
ERROR_FILE_NOT_FOUND
Extract line 5
Extract line 6
Extract line 7
Stop_pattern
some text
ERROR_FILE_NOT_FOUND
some text
ERROR_FILE_NOT_FOUND
some text
ERROR_FILE_NOT_FOUND
Extract line 9
Extract line 10
Extract line 11
Stop_pattern

원하는 출력:

Extract line 1
Extract line 2
Extract line 3
//separate if possible
Extract line 5
Extract line 6
Extract line 7
//separate if possible
Extract line 9
Extract line 10
Extract line 11
//separate if possible

답변1

전혀:

$ awk '/Stop_pattern/{c=0; print ""}; c>=3;/ERROR_FILE_NOT_FOUND/{c++} ' file 
Extract line 1
Extract line 2
Extract line 3

Extract line 5
Extract line 6
Extract line 7

Extract line 9
Extract line 10
Extract line 11

관련 정보