Recursively searches a directory for a specified string or pattern