How do I find all files containing a specific string of text within their file contents?
The following doesn't work. It seems to display every single file in the system.
find / -type f -exec grep -H 'text-to-find-here' {} \;
How do I find all files containing a specific string of text within their file contents?
The following doesn't work. It seems to display every single file in the system.
find / -type f -exec grep -H 'text-to-find-here' {} \;
13414
Do the following:
grep -Rnw '/path/to/somewhere/' -e 'pattern'
-r
or -R
is recursive ; use -R
to search entirely-n
is line number, and-w
stands for match the whole word.-l
(lower-case L) can be added to just give the file name of matching files.-e
is the pattern used during the searchAlong with these, --exclude
, --include
, --exclude-dir
flags could be used for efficient searching:
This will only search through those files which have .c or .h extensions:
grep --include=\*.{c,h} -rnw '/path/to/somewhere/' -e "pattern"
This will exclude searching all the files ending with .o extension:
grep --exclude=\*.o -rnw '/path/to/somewhere/' -e "pattern"
For directories it's possible to exclude one or more directories using the --exclude-dir
parameter. For example, this will exclude the dirs dir1/
, dir2/
and all of them matching *.dst/
:
grep --exclude-dir={dir1,dir2,*.dst} -rnw '/path/to/search/' -e "pattern"
This works very well for me, to achieve almost the same purpose like yours.
For more options, see man grep
.
Answered, June 6th, 2013
2257
Use grep -ilR
:
grep -Ril "text-to-find-here" /
i
stands for ignore case (optional in your case).R
stands for recursive.l
stands for "show the file name, not the result itself"./
stands for starting at the root of your machine.Answered, June 6th, 2013
How do I undo the most recent local commits in Git?
How can I remove a specific item from an array in JavaScript?
How do I delete a Git branch locally and remotely?
How to find all files containing specific text (string) on Linux?
How do I revert a Git repository to a previous commit?
How do I create an HTML button that acts like a link?
How do I check out a remote Git branch?
How do I force "git pull" to overwrite local files?
ffmpeg split avi into frames with known frame rate
Awk - replacement with seperators
If a folder does not exist, create it
Amazon Linux: "apt-get: command not found"
Calling execv() failed
Can you use a std::atomic_bool to ensure mutual exclusion in a code block?
How to automatically add user account AND password with a Bash script?
Why write to closed pipe returns success