Myslím, že toto je to, co jste hledali:
grep -E "string1|string2" filename
Myslím, že odpovědi takto:
grep 'string1.*string2\|string2.*string1' filename
odpovídají pouze případu, kdy jsou přítomny oba, nikoli jeden nebo druhý nebo oba.
Můžete použít
grep 'string1' filename | grep 'string2'
Nebo
grep 'string1.*string2\|string2.*string1' filename