With grep, I can find a word within 50 files in a local folder, i.e.:
grep -i "hello" *.html
To see the files containing both words (possibly on different lines), use
grep -il "hello" *.html | xargs grep -il "peter"
If your files have spaces in their names, then we need to be a little more careful. For that we can use special options to
grep -ilZ "hello" *.html | xargs -0 grep -il "peter"