2013-12-15 5 views
14

Я пытаюсь отфильтровать несколько блоков текста, которые повторяются снова и снова в моем файле журнала. Например,Как инвертировать поиск с помощью grep для нескольких строк текста

grep -v ("string one that I don't want" \| "string two that I don't want") file.log 

Я попробовал несколько вариантов этого и попытался настроить белые пространства. Иногда он также фильтрует первую строку. Каким будет правильный формат для фильтрации более одного блока текста с помощью grep?

ответ

24

Вы можете использовать -e опцию несколько раз в grep пропустить несколько элементов поиска:

grep -v -e "string one that I don't want" -e "string two that I don't want" file.log 

или иначе использовать regex с помощью egrep

egrep -v 'string one|string two' file.log 
+1

Спасибо. Оба метода работают. Я попытался использовать этот метод egrep. Но я думаю, что я помещал пространство между символом трубы. Так что в то время это не сработало. Теперь это работает. – user2476714

Смежные вопросы