I want to output all the lines in my source code which contain the string foo but don't contain the string bar. I tried this:

find . -name "*.[hc]pp" | xargs grep -n foo | grep -x bar 

However this doesn't work as I expected. How can I use grep in this way?


You want the -v flag, not the -x flag.

Mnemonic: negative.

| improve this answer | |
  • that did it - tyvm! lmao: I had the wrong mnemonic: eXclude – kfmfe04 Dec 2 '11 at 7:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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