Posted By

mattkenefick on 04/05/09


files find in

Versions (?)

Who likes this?

3 people have marked this snippet as a favorite


Linux: Find in Files

 / Published in: Bash

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:

./javascriptopennewwindowform.php ./excellargenumbererror.php ./linuxvistringsubstitution.php ./emailreformat.php ./onlineemailreformat.php ./excelfindquestionmark.php ./linuxfindstringinfiles.php ./excelkeyboardshortcuts.php ./linuxgrep.php ./md5uniquesubstring.php ./emailreformattoken.php ./excelpasswordprotect.php ./mysqldatecalulation.php ./md5string.php ./phpjavascriptpassingvaluestonewwindowinurl.php ./phpmathonstring/mathonstringform.php ./guide.php ./excellargenumberpaste.php ./pipingcommandsfindgrepsed.php ./google-search-for-seo-research.php ./filenameconversionform.php ./linuxfindstring_files.php

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

  1. find . | xargs grep 'string' -sl
  3. // or alternatively
  5. find ./ -exec grep -Hn "YourString" {} \;

Report this snippet  


RSS Icon Subscribe to comments
Posted By: mkornatz on November 19, 2009

I got errors when using this, specifically: "xargs: unmatched single quote;"

This command was successful where the above was not:

find -type f -printf '"%p"\n' | xargs grep -sl "string"

You need to login to post a comment.