Wie kombiniere ich mehrere grep-Befehle?


15

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?

Antworten:


16

Andere Option:

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

10

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)'

7

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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.