Answers:
grep -v 是你的朋友:
grep --help | grep invert
-v,--invert-match选择不匹配的行
还请检查相关内容-L(的补充-l)。
-L,--files-without-match仅打印不包含匹配项的文件名
-e可以使用多个(负)比赛选项:grep -v -e 'negphrase1' -e 'negphrase2'
grep -v 'negphrase1|negphrase2|negphrase3'
-E作品将模式解释为扩展的正则表达式,即 grep -vE 'negphrase1|negphrase2|negphrase3'
grep "" /dev/null * | grep foo | grep -v bar | cut -d: -f1 | sort -u(为什么要使用第一个grep?总是有一种方法:))
您还可以将其awk用于这些目的,因为它可以使您以更清晰的方式执行更复杂的检查:
行不包含foo:
awk '!/foo/'
行既不包含foo也不包含bar:
awk '!/foo/ && !/bar/'
既不含线foo也不bar含有任一foo2或bar2:
awk '!/foo/ && !/bar/ && (/foo2/ || /bar2/)'
等等。