Skip to content

Instantly share code, notes, and snippets.

@jmuyden
Last active September 25, 2022 16:59
Show Gist options
  • Save jmuyden/7eb4520faffb19a668dc08f66daea747 to your computer and use it in GitHub Desktop.
Save jmuyden/7eb4520faffb19a668dc08f66daea747 to your computer and use it in GitHub Desktop.
Find string in files LINUX

Do the following:

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