Back to article
list all files in directory tree that contain a search string
find . -type f -print | xargs grep -li "find me"
October 21, 1999
If you have a large directory tree and you are sure that a file is in there somewhere, and you know that the phrase "find me" (e.g.) is in what you are looking for, then a command line like the above is just what you need.
The find command filters out all directories and special files and prints a list of them to the pipe. The xargs command takes the piped list and makes it into an argument list for the grep. The -li options on the grep mean ignore case...so "FIND ME" or "find me" is matched, and list once means the output is a list of filenames which only mentions each file once.