shenkwen shenkwen - 1 year ago 78
Linux Question

"grep -rnw": search for a string in all files

Related question: Finding all files containing a text string on Linux

I have been using the command mentioned in the answer of above question to search for string occurences in all files:

grep -rnw '/path/to/somewhere/' -e "pattern"

However lately I encountered a problem, shown in the following picture:
enter image description here

Looks like this command only recognizes strings that stand out as a word or something. How should I modify the command to improve my search result?

Answer Source

explainshell helpfully explains your command, and gives an excerpt from man grep:

   -w, --word-regexp
          Select  only  those  lines  containing matches that form whole words. 

So just remove -w since that explicitly does what you don't want:

grep -rn '/path/to/somewhere/' -e "pattern"