Ich denke, das ist, wonach Sie gesucht haben:
grep -E "string1|string2" filename
Ich denke, das antwortet so:
grep 'string1.*string2\|string2.*string1' filename
stimmen nur mit dem Fall überein, in dem beide vorhanden sind, nicht das eine oder das andere oder beide.
Sie können
verwendengrep 'string1' filename | grep 'string2'
Oder
grep 'string1.*string2\|string2.*string1' filename