Makerere University

Enter a keyword or two into the search box above and click search..

Finding all files containing a text string on Linux

You are here

Do the following:

       grep -rnw 'directory' -e "pattern"

-r is recursive, -n is line number and -w stands match the whole word. Along with these, --exclude or --include parameter could be used for efficient searching. Something like below:

       grep --include=\*.{c,h} -rnw 'directory' -e "pattern"

This will only search through the files which have .c or .h extensions. Similarly a sample use of --exclude:

       grep --exclude=*.o -rnw 'directory' -e "pattern"

Above will exclude searching all the files ending with .o extension. Just like exclude file it's possible to exclude/include directories through --exclude-dir and --include-dir parameter, the following shows how to integrate --exclude-dir:

      grep --exclude-dir={dir1,dir2,*.dst} -rnw 'directory' -e "pattern"

This works for me very well, to achieve almost the same purpose like yours.

OR

grep -Ril "text-to-find-here" /

    i stands for upper/lower case (optional in your case).
    R stands for recursive.
    l stands for "show the file name, not the result itself`.