Grep/sed/awk 솔루션은 두 검색 키워드 사이의 줄을 제외합니다.

Grep/sed/awk 솔루션은 두 검색 키워드 사이의 줄을 제외합니다.

여기에 설명된 대로 두 검색 패턴 사이의 줄을 인쇄하는 몇 가지 방법이 있습니다.시작 패턴과 끝 패턴 사이의 줄을 찾는 방법은 무엇입니까?

sed -n '/aaa/,/cdn/p' file
awk '/test1/,/test2/'

위의 내용을 무효화해야 하며 표준 Unix 명령 grep/sed/awk를 사용하여 올바른 명령/솔루션을 얻는 것이 어렵다는 것을 알고 있습니다.

grep -v단어와 일치하는 줄을 제외하지만 두 특정 정규식 사이의 모든 줄을 제외하지는 않습니다.

어떤 팁이 있나요?

답변1

노력하다

sed '/aaa/,/cdn/d' file

또는

awk '/test1/,/test2/{next} {print}'

또는 (더 컴팩트)

awk '/test1/,/test2/{next} 1'

기본적으로 각 레코드(라인)를 인쇄합니다.~하지 않는 한일치 /test1/,/test2/하는 경우 다음으로 점프합니다.다음기록.

관련 정보