How to find all files containing a text string on Linux
grep
search
linux
find text in files

In Linux, when you want to find all files that contains a specific text you can use grep command.
Parameters
Here are the most useful parameters for grep command.
-ror-Ris recursive;-nis line number;-wstands match the whole word.-l(lower-case L) can be added to just give the file name of matching files.--excludeor--includeparameters could be used to exclude/include files to search in.--exclude-diror--include-dirparameters could be used to exclude/include folders to search in.
Example 1
$ grep -rnw '/path/to/search/in/' -e "text to find"
This command will search in all files from /path/to/search/in/ folder for text: text to find.
Example 2
$ grep --include=\*.{php,inc} -rnw '/path/to/search/in/' -e "text to find"
This will only search through the files which have .php or .inc extensions.
Example 3
$ grep --exclude=\*.{php,inc} -rnw '/path/to/search/in/' -e "text to find"
This will ignore the files which have .php or .inc extensions.
Example 4
Just like exclude/include file it's possible to exclude/include directories from the search.
$ grep --exclude-dir={dir1,dir2,*.dst} -rnw '/path/to/search/in/' -e "text to find"
or
$ grep --include-dir={dir1,dir2,*.dst} -rnw '/path/to/search/in/' -e "text to find"
References
For more options on the grep command run the command:
$ man grep