2

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?

2 Answers 2

8

Just use the -v option:

myproc | grep -v requests

1
  • Oh wow. That is too easy. Thanks so much! :-) I'll accept when it lets me.
    – corsiKa
    Apr 16, 2011 at 6:31
2

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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .