2014-09-06 2 views

답변

2

,

grep -P 'foo(?:(?!bar).)*$' file 

예 :

$ cat file 
foo 123 
foo bar 
$ grep -P 'foo(?:(?!bar).)*$' file 
foo 123 

또는

에서만 사용 부정적 예측이 확인 문자열 bar이 뒤에 오는 경우 foo 다음 문자와 일치하지 않는지 여부 아르 자형.

OSX 같은 grep -P는이 awk 명령을 사용할 수없는 시스템에
$ grep -P 'foo(?!.*bar)' file 
foo 123 
0

당신은 경기 반전 -v를 사용할 수 있습니다

grep -v 'foo.*bar' file 
+0

그러나'foo'가없는 줄에서는이 내용이 일치하지 않을까요? 그러나'grep foo | grep -v bar는 OP 요구 사항에 따라 작동 할 수 있습니다. –

관련 문제