我想选择与指定模式不匹配的行,在该行中我要排除多个模式。例如,我要排除以关键字apple
and开头的行banana
:
$ grep -v '^apple' foo.txt | grep -v '^banana' -
我想知道是否有一种方法可以使用一个表达式或一个对的调用grep
。我已经尝试了以下方法,但是它们似乎没有达到预期的效果:
$ grep -v "^apple" -v "^banana" foo.txt
$ grep -v "^(apple|banana)" foo.txt
$ grep -v "(^apple)|(^banana)" foo.txt
排除多个模式的正确方法是什么?
要指定“替代”匹配项,您必须包含“ E”开关,例如:
$ grep -Ev "^(apple|banana)" foo.txt
$ grep -Ev "(^apple)|(^banana)" foo.txt
上面的两个版本都可以。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句