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?

Caleb
  • 11,583
  • 4
  • 35
  • 49
corsiKa
  • 363
  • 1
  • 6
  • 18

2 Answers2

8

Just use the -v option:

myproc | grep -v requests

Robin Green
  • 451
  • 3
  • 11
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.

Phil Hollenback
  • 14,647
  • 4
  • 34
  • 51