Как мне объединить несколько команд grep?

15

У меня есть такая команда:

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

и становится все больше, есть ли способ сделать это аккуратнее?

UAdapter
источник

Ответы:

16

Другой вариант:

... | grep -v -e @param -e @return -e @Test -e @throws
Эрик Уилсон
источник
10

Ты можешь использовать:

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

или вы можете использовать флаг -E для включения расширенных регулярных выражений, что позволит вам избежать экранирования скобок и символов канала:

... | grep -Ev '(@param|@return|@Test|@throws)'
lgarzo
источник
7

Кроме того, вы можете поместить все ваши шаблоны в файл, один шаблон на строку, и использовать

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

Было бы проще, если бы вы использовали шаблоны регулярно

Сергей
источник