我想找出文件中不存在哪些模式或单词。例子 :
测试.txt
marco
polo
charlie
anthony
john
egrep 'marco|polo' test.txt
将输出 marco 和 polo
但我想要一个命令来输出该单词(如果该单词不存在于文件中):
例如:egrep 'cindrella|daniel|polo' test.txt
应该输出 cindrella 和 daniel 而不是 polo。
答案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
安静模式,找到任何匹配后退出