Some time ago I had the problem to search files with a given string in lots and lots of directories with lots and lots of files. Finally I used this command to show me every file in a given directory (plus sub-directories) which contains the search-string.
find . -name "*.php" -print | xargs grep "searchstring"
Means: Search for all php files which contain the string “searchstring”.