web-dev-qa-db-fra.com

Comment combiner plusieurs commandes grep?

J'ai une commande comme celle-ci:

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

et sa devient plus grande, y a-t-il un moyen de rendre cela plus ordonné?

15
UAdapter

Une autre option:

... | grep -v -e @param -e @return -e @Test -e @throws
16
Eric Wilson

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 aux parenthèses et aux caractères de canal:

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

Vous pouvez également placer tous vos modèles dans un fichier, un modèle par ligne, et utiliser

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

Faciliterait les choses si vous utilisiez les motifs régulièrement

7
Sergey