Comment combiner plusieurs commandes grep?

15

J'ai une commande comme celle-ci:

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

et son grossissement, est-il possible de faire ce plus propre?

UAdapter
la source

Réponses:

16

Une autre option:

... | grep -v -e @param -e @return -e @Test -e @throws
Eric Wilson
la source
10

Vous pouvez utiliser:

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

ou vous pouvez utiliser l'indicateur -E pour activer les expressions régulières étendues, ce qui vous permettra d'éviter d'échapper les parenthèses et les caractères de canal:

... | grep -Ev '(@param|@return|@Test|@throws)'
lgarzo
la source
7

Alternativement, vous pouvez placer tous vos modèles dans un fichier, un modèle par ligne, et utiliser

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

Cela faciliterait les choses si vous utilisez régulièrement les modèles

Sergey
la source