일치하는 줄 다음 줄만 표시하려면 sed를 사용하세요.

일치하는 줄 다음 줄만 표시하려면 sed를 사용하세요.

https://stackoverflow.com/a/7451478/15603477

알겠어요grep -A1 'blah' logfile | grep -v "blah"

sed -n '/blah/{n;p;}' logfile
하지만 지금까지 수동 sed 명령줄 옵션 페이지를 확인했는지 이해가 되지 않습니다 .https://www.gnu.org/software/sed/manual/html_node/Command_002dLine-Options.html. 유일한 -n방법은 조용히 있는 것이다. 분명히 /blah/패턴을 참조 /blah/하고 이해하기 어려운 부분은{n;p;}

답변1

pattern space일반적으로 sed는 처리가 끝나면 무엇이든 인쇄합니다. 이 -n옵션은 이 인쇄를 비활성화하므로 명시적인 인쇄 요청만 출력을 생성합니다.

프로그램은 /blah/{n;p;}"행이 일치하면 및 명령을 blah실행하십시오 "라고 말합니다. "다음 줄 읽기 " 라고 말하고 "인쇄 "라고 말합니다.npnpattern spaceppattern space

grep -A1 "blah" | grep -v "blah"이 sed 프로그램은 연속된 행이 포함될 때 다른 결과를 생성한다는 점에 유의하십시오 blah. 쌍 grep은 으로 라인을 출력하지 않지만 blahsed는 출력합니다. grep 쌍의 출력에는 ==첫 번째 grep이 청크로 나누기 위해 도입한 내용도 포함될 수 있습니다.

관련 정보