Jak połączyć wiele poleceń grep?

15

Mam takie polecenie:

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

i robi się coraz większy, czy jest jakiś sposób, aby uczynić to schludniejszym?

UAdapter
źródło

Odpowiedzi:

16

Inna opcja:

... | grep -v -e @param -e @return -e @Test -e @throws
Eric Wilson
źródło
10

Możesz użyć:

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

lub możesz użyć flagi -E, aby włączyć rozszerzone wyrażenia regularne, co pozwoli ci uniknąć ucieczki w nawiasach i znakach potoku:

... | grep -Ev '(@param|@return|@Test|@throws)'
lgarzo
źródło
7

Alternatywnie możesz umieścić wszystkie swoje wzory w pliku, jeden wzór na linię i użyć

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

Ułatwiłoby to regularne używanie wzorów

Siergiej
źródło