如何组合多个 grep 命令?

如何组合多个 grep 命令?

我有一个这样的命令:

| grep -v @param | grep -v @return | grep -v @Test | grep -v @throws

而且它越来越大了。有没有什么办法让它变得更整齐?

答案1

另外一个选择:

... | grep -v -e @param -e @return -e @Test -e @throws

答案2

您可以使用:

... | grep -v "\(@param\|@return\|@Test\|@throws\)"

或者您可以使用 -E 标志来启用扩展正则表达式,这将允许您避免转义括号和管道字符:

... | grep -Ev '(@param|@return|@Test|@throws)'

答案3

或者,您可以将所有模式放在一个文件中,每行一个模式,然后使用

... | grep -v -f matches.txt

如果你经常使用模式,事情就会变得更容易

相关内容