You can use the following grep command to search through a directory, recursively, but only looking at a specific file pattern.
grep -r --include=<pattern> <string> <directory>
Here is an example that searches recursively starting at /home/joel/ and including only php files.
grep -r --include="*.php" "public auction" ./
Other options you might want to add to the command:
-i | Case insensitive match. |
-c | Count of matches; suppressing normal output. One line per file match. |
-o | Show only the part of a matching line that matches. |
Here's another example with the -r, -i and -o options all added.
grep -rio --include="*.php" "public auction" ./