Tuesday, January 24, 2012

Linux - Find string in files.

SkyHi @ Tuesday, January 24, 2012
find . | xargs grep 'string' -sl
The -s is for summary and won't display warning messages such as grep: ./directory-name: Is a directory
The -l is for list, so we get just the filename and not all instances of the match displayed in the results.
Performing the search on the current directory I get:

I find this useful for just quickly seeing which files contain a search time. I would normally limit the files searched with a command such as :

find . -iname '*php' | xargs grep 'string' -sl
Another common search for me, is to just look at the recently updated files:

find . -iname '*php' -mtime -1 | xargs grep 'string' -sl
would find only files edited today, whilst the following finds the files older than today:

find . -iname '*php' -mtime +1 | xargs grep 'string' -sl