Apparently, grep can be called with both -E and -F: $ printf "foo\nbar\n" | grep -EF '(foo|bar)' $ printf "foo\nbar\n" | grep -FE '(foo|bar)' foo bar
and the same happens with egrep and fgrep. Indeed, case 'E': Fflag = 0; Eflag = 1; break; case 'F': Eflag = 0; Fflag = 1; break; Should grep (or egrep or fgrep) protest if both -E and -F (or -F or -E, respectively) are specified? (IMHO not, but anyway?) Jan