파일에 어떤 패턴이나 단어가 없는지 알고 싶습니다. 예:
테스트.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
자동 모드, 일치하는 항목을 찾은 후 종료