Finding all files containing a text string on Linux
grep -rnw '/path/to/docs/' -e "pattern"
-r
or-R
is recursive,-n
is line number, and-w
stands match the whole word.-l
(lower-case L) can be added to just give the file name of matching files.- Along with these,
--exclude
or--include
parameter could be used for efficient searching.
Recursive grep for words in a particular file type
The most portable and efficient recommendation is:
find / -type f -name '*.sh' -exec grep -l word {} + /dev/null
Definition
grep is a Unix command used to search files for the occurrence of a string of characters that matches a specified pattern.