Игнорировать линии grep

У меня очень раздражающее сообщение, выводимое из процесса, который я запускаю. Я бы предпочел не удалять строку, а просто удалить ее с помощью grep

Все игнорируемые сообщения содержат слово "запросы". Я мог легко ТОЛЬКО эти строки с

$> myproc | grep requests

Как бы я сделал grep вместо IGNORE строк со словами запросов?

2 ответа

Решение

Просто используйте опцию -v:

myproc | grep -v requests

Извините не могу устоять

myproc | perl -ne "/requests/ or print"

это Perl один вкладыш, который использует -e выполнить код в командной строке, и -n обернуть его в цикл while, читая по одной строке за раз. /requests/ part - это совпадение с любой строкой, содержащей слово "запросы". Собирая все вместе, мы говорим: "Если в строке нет слова" запросы ", распечатайте".

Это надуманный пример, так как Робин Грин отмечает, что grep -v работает просто отлично в вашем случае. Однако вы можете расширить этот perl на один слой для создания произвольно сложного фильтра.

Другие вопросы по тегам