Last active
April 9, 2018 05:03
-
-
Save boywijnmaalen/90e42a183cb0270e8238759bb091d69c to your computer and use it in GitHub Desktop.
Find all files containing specific text #CLI #UNIX
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ grep -rnw '/path/to/somewhere/' -e "pattern" | |
# (path/ must absolute!) | |
# -r or -R is recursive, | |
# -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. | |
# along with these, --exclude, --include, --exclude-dir or --include-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" | |
# just like exclude files, it's possible to exclude/include directories through --exclude-dir and --include-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/somewhere/' -e "pattern" | |
# this works very well for me, to achieve almost the same purpose like yours. | |
For more options check man grep. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment