![여러 번 누적될 수 있는 모드 1과 모드 2 사이의 선을 가져옵니다.](https://linux55.com/image/151950/%EC%97%AC%EB%9F%AC%20%EB%B2%88%20%EB%88%84%EC%A0%81%EB%90%A0%20%EC%88%98%20%EC%9E%88%EB%8A%94%20%EB%AA%A8%EB%93%9C%201%EA%B3%BC%20%EB%AA%A8%EB%93%9C%202%20%EC%82%AC%EC%9D%B4%EC%9D%98%20%EC%84%A0%EC%9D%84%20%EA%B0%80%EC%A0%B8%EC%98%B5%EB%8B%88%EB%8B%A4..png)
파일에 여러 번 나타날 수 있는 두 개의 서로 다른 패턴(패턴 포함) 사이의 선을 인쇄하려고 합니다. 시작 패턴-끝 패턴-리듬 외에도 두 번째 패턴도 나타날 수 있습니다.
예:
-문서:
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'
두 명령 모두에서 쉼표를 사용하여 첫 번째 패턴과 일치하는 줄부터 시작하여 두 번째 패턴과 일치하는 줄까지(및 포함)의 모든 줄을 고려함을 나타냅니다.