sed를 사용하여 두 가지 다른 패턴 간 일치 [중복]

sed를 사용하여 두 가지 다른 패턴 간 일치 [중복]

예를 들어 다음과 같은 두 가지 모드 간의 출력을 캡처하고 싶습니다.

sed -n '/^pattern1/,/^pattern2/p;/^pattern2/q' 

하지만 이유 없이 출력을 캡처하고 싶습니다.

이것이 도움이 될 것이라는 것을 알고 있지만 grep -Evsed가 어떻게 작동하는지 알고 싶습니다.

답변1

다음을 사용해 볼 수 있습니다 awk.

awk '/^pattern1/{p=1;next}/^pattern2/{p=0}p' file

p변수는 패턴이 발견되면 설정 pattern1되고 두 번째 패턴이 충족되면 재설정됩니다.

p스크립트 끝의 if는 라인을 인쇄하는 기본 awk 작업을 트리거합니다 p==1.

관련 정보