2011-09-11 2 views
12

grep 명령은 정말 강력하고 많이 사용합니다.그레이프와 같은 명령으로 일치하는 라인과 이웃 라인을 찾습니다.

는 언젠가 나는 GREP 내가 거의 -i 옵션 (대소 문자 무시)와 함께 자신을 돕는 기억 문자열을 찾기 위해 내부에 많은 많은 파일을 찾고 뭔가를 찾을 필요가 -r (재귀)도 - v (제외).

하지만 실제로 필요한 것은 grep에서 일치하는 행을 강조 표시 한 출력을 인접 행 (일치하는 행을보고 싶습니다. 앞의 두 행과 2 개의 후속 라인).

bash를 사용하여이 결과를 얻을 수있는 방법이 있습니까?

+0

참고로, 어떤 운영 체제를 실행하고 있습니까? 솔라리스 10은 매우 제한적인 grep을 가지고 있습니다. – chotchki

답변

11

가장 greps이 조금 더 읽기 만들기 "컨텍스트"플래그 수 있도록 할 것입니다 : 당신은 생략 할 수 있습니다

grep --context=3 foo myfile.txt 
+0

위대한, 그때 첫 번째 대답은 명확했다. 그리고 그것은 제가 찾고 있던 것입니다. @Gringo Suave, 이것은 -C 옵션의 계약되지 않은 형식입니다. – ztank1013

17

Grep 자체는이

grep -A 2 -B 2 foo myfile.txt 
+2

그리고'-A 2 -B 2'를 의미하는'-C 2'를 잊지 마십시오. –

+0

그 덕분에 매우 멋지게 일했습니다. -C도! – ztank1013

7

를 -C

grep -2 foo myfile.txt 

와 같습니다.
grep -C 2 foo myfile.txt 
관련 문제