Last active
March 10, 2019 12:16
-
-
Save ezhov-da/2d003f44131d7666ed92d43af2a99ba4 to your computer and use it in GitHub Desktop.
поиск строки в папке
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' | |
-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 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 a particular directory(ies) through --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/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