grep命令可以使用 -v 选项排除特定字符串(反转模式)。如果需要排除多个字符串,除了不断用管道加-v外,还可以通过下面三种更简单的方式实现:

-e选项:

匹配模式,可以多次使用。和-v选项结合可用于排除多个字符串:

grep -v -e "exclude string1" -e "exclude string2" file.txt

-E选项:

拓展(Extended)正则匹配模式,即可以使用正则表达式的语法。和-v选项结合排除多个字符串:

grep -v -E "exclude string1|exclude string2" file.txt

egrep命令:

egrepgrep的正则表达式版本,相当于grep -E,用来排除多个字符串更为简便:

egrep -v "string1|string2" file.txt

可以看到,-E选项或者egrep更灵活简洁,推荐使用。

参考

  1. How do I Invert search using grep for multiple strings of text
  2. Linux文件查找