으로 grep, 나는 패턴과 일치하는 모든 행을 선택하려면, 그것은 또 다른 패턴과 일치하지 않습니다. 옵션 (또는 , 또는 )을 grep사용할 수 있도록 단일 호출을 사용할 수 있기를 원합니다 .--after-context--before-context--context
-v옵션 을 grep사용하여 전달하는 모든 패턴을 무효화하므로 여기에서 실행 가능하지 않습니다 -e.
예
다음 컨텍스트의 한 줄로 줄 일치 needle를 무시하고 일치하는 줄을 찾고 싶습니다 ignore me.
내 입력 파일은 다음과 같습니다.
one needle ignore me
two
three
four needle
five
내가 원하는 결과는 다음과 같습니다
four needle
five
보시다시피이 순진한 솔루션은 작동하지 않습니다.
$ cat file | grep --after-context=1 needle | grep -v 'ignore me'
two
---
four needle
five
ack