Dmitry Isaev
Dmitry Isaev

Reputation: 3998

Another grep advanced

Q1. I want to grep something like that:

grep -Ir --exclude-dir="some*dirs" "my-text" ~/somewhere

but I don't want to show the whole strings containing "my-text", I want to see only list of files.

Q2. I want to see list of files containing "my-text" but not containing "another-text". How to do that?

Sorry, but I could not find the answer in man grep, neither in google.

Upvotes: 0

Views: 163

Answers (1)

JB.
JB.

Reputation: 42104

Q1. You mustn't have googled very hard on that one.

man grep

-l, --files-with-matches
Suppress normal output; instead print the name of each input file from which output would normally have been printed. The scanning will stop on the first match.

Q2. Unless you expect both patterns to be on the same line, you'll need multiple invocations of grep. Something like:

$ grep -l my-text | xargs grep -vl another-text

Upvotes: 2

Related Questions