Linux에서 egrep의 반대 명령을 실행하시겠습니까?

Linux에서 egrep의 반대 명령을 실행하시겠습니까?

파일에 어떤 패턴이나 단어가 없는지 알고 싶습니다. 예:

테스트.txt

marco 
polo
charlie 
anthony
john

egrep 'marco|polo' test.txt marco와 polo를 출력합니다.

하지만 파일에 단어가 없으면 해당 단어를 출력하는 명령을 원합니다.

예를 들어 egrep 'cindrella|daniel|polo' test.txt폴로 대신 cindrella와 daniel이 출력되어야 합니다.

답변1

greping을 반대로하고 싶습니다.

printf "%s\n" cindrella daniel polo | grep -v -f test.txt
cindrella
daniel

어디

  • -v반대 옵션입니다
  • -f test.txt입력 목록 가져오기test.txt

답변2

grep이 일치하지 않으면 이름을 에코할 수 있습니다.

$ for i in cindrella daniel polo; do grep -q "$i" test.txt || echo "$i"; done
cindrella
daniel

-q자동 모드, 일치하는 항목을 찾은 후 종료

관련 정보