Find files containing multiple strings
<p>I use a command to recursively find files containing a certain <code>string1</code>:</p>

<pre><code>find . -type f -exec grep -H string1 {} \;
</code></pre>

<p>I need to find files containing multiple strings, so the command should return those containing all strings. Something like this:</p>

<pre><code>find . -type f -exec grep -H string1 AND string2 {} \;
</code></pre>

<p>I couldn't find a way. The strings can be anywhere in the files. Even a solution for only two strings would be nice.</p>