it-swarm.com.de

Wie kombiniere ich mehrere grep-Befehle?

Ich habe einen Befehl wie diesen:

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

und es wird immer größer, gibt es eine Möglichkeit, dies ordentlicher zu machen?

15
UAdapter

Andere Option:

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

Sie können verwenden:

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

oder Sie können das Flag -E verwenden, um erweiterte reguläre Ausdrücke zu aktivieren. Auf diese Weise können Sie vermeiden, dass Klammern und Pipe-Zeichen verloren gehen:

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

Alternativ können Sie alle Ihre Muster in einer Datei platzieren, ein Muster pro Zeile, und verwenden

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

Würde es einfacher machen, wenn Sie die Muster regelmäßig verwenden

7
Sergey