Bagaimana cara menggabungkan beberapa perintah grep?

15

Saya punya perintah seperti ini:

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

dan semakin besar, apakah ada cara untuk membuat ini lebih rapi?

UAdapter
sumber

Jawaban:

16

Pilihan lain:

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

Kamu bisa memakai:

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

atau Anda dapat menggunakan flag -E untuk mengaktifkan ekspresi reguler yang diperluas, yang memungkinkan Anda untuk menghindari tanda kurung dan karakter pipa:

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

Atau, Anda dapat menempatkan semua pola Anda di file, satu pola per baris, dan gunakan

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

Akan membuat segalanya lebih mudah jika Anda menggunakan pola secara teratur

Sergey
sumber