Je pense que c'est ce que vous cherchiez :
grep -E "string1|string2" filename
Je pense que cela répond comme ceci :
grep 'string1.*string2\|string2.*string1' filename
correspond uniquement au cas où les deux sont présents, pas l'un ou l'autre ou les deux.
Vous pouvez utiliser
grep 'string1' filename | grep 'string2'
Ou
grep 'string1.*string2\|string2.*string1' filename