ignore linhas grep

1

Eu tenho uma mensagem muito chata sendo emitida de um processo que estou executando. Eu prefiro não remover a linha, mas simplesmente removê-lo com grep

As mensagens a ignorar contêm a palavra "pedidos". Eu poderia facilmente SOMENTE estas linhas com

$> myproc | grep requests

Como eu faria o grep em vez de IGNORE linhas com os pedidos de palavras?

    
por corsiKa 16.04.2011 / 08:27

2 respostas

7

Use apenas a opção -v:

myproc | grep -v requests

    
por 16.04.2011 / 08:30
2

Desculpe não resisto:

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

é um forro perl que usa -e para executar o código na linha de comando e -n para envolvê-lo em um loop while lendo uma linha por vez. A parte /requests/ é uma correspondência em relação a qualquer linha que contenha a palavra 'pedidos'. Colocando tudo junto, diz: "se a linha não contiver a palavra 'pedidos', imprima-a."

Este é um exemplo artificial, já que Robin Green aponta que grep -v funciona bem no seu caso. No entanto, você pode estender este liner perl para fazer um filtro arbitrariamente complexo.

    
por 16.04.2011 / 08:38