여러 번 누적될 수 있는 모드 1과 모드 2 사이의 선을 가져옵니다.

여러 번 누적될 수 있는 모드 1과 모드 2 사이의 선을 가져옵니다.

파일에 여러 번 나타날 수 있는 두 개의 서로 다른 패턴(패턴 포함) 사이의 선을 인쇄하려고 합니다. 시작 패턴-끝 패턴-리듬 외에도 두 번째 패턴도 나타날 수 있습니다.

예:

-문서:

XYZ
XYY
BBB
XYX
AAA
AAB
BBB
XYW
AAA
AAC
AAD
BBB

- 출력은 다음과 같아야 합니다.

AAA
AAB
BBB
AAA
AAC
AAD
BBB

나는 비슷한 것을 시도했습니다 awk '/AAA/{a=1}/BBB/{print;a=0}a'.

감사해요.

답변1

반드시 awk이 작업을 수행해야 하는 경우:

awk -- '/AAA/,/BBB/{print}'

sed 하지만 귀하의 경우에도 매우 잘 작동하는 것 같습니다 . 마찬가지로 다음을 수행하십시오.

sed -ne '/AAA/,/BBB/p'

두 명령 모두에서 쉼표를 사용하여 첫 번째 패턴과 일치하는 줄부터 시작하여 두 번째 패턴과 일치하는 줄까지(및 포함)의 모든 줄을 고려함을 나타냅니다.

관련 정보