I use a command to recursively find files containing a certain string1:
string1
find . -type f -exec grep -H string1 {} \\;
I need to
you can also try this;
find . -type f -exec grep -l 'string1' {} \; | xargs grep -l 'string2'
this shows file names that contain string1 and string2