I have a very annoying message being output from a process I'm running. I'd rather not remove the line, but simply remove it with grep

The messages to ignore all contain the word "requests". I could easily ONLY these lines with

$> myproc | grep requests

How would I make grep instead IGNORE lines with the word requests?

link|improve this question

feedback

2 Answers

up vote 7 down vote accepted

Just use the -v option:

myproc | grep -v requests

link|improve this answer
Oh wow. That is too easy. Thanks so much! :-) I'll accept when it lets me. – corsiKa Apr 16 '11 at 6:31
feedback

Sorry can't resist:

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

that's a perl one liner that uses -e to execute code on the command line, and -n to wrap it in a while loop reading one line at a time. The /requests/ part is a match against any line that contains the word 'requests`. Putting it all together says, "if the line doesn't contain the word 'requests', print it out."

This is a contrived example since Robin Green points out that grep -v works just fine in your case. However you can extend this perl one liner to make an arbitrarily complex filter.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.