Originally Posted by grail
As for the if, you have 2 options (one has been suggested but ill formatted):
if grep -Ev 'x|y|z' file
if ! grep -E 'x|y|z' file
Those options are not equivalent: the first checks whether file has any line not matching
x, y, or z; the second checks that there is no line matching
x, y, or z. Also, probably the -q option is wanted here.
@gnashely: if you use a hard link instead of symlink I believe you would get the same speed benefits as a separate binary, plus extra savings in space. EDIT: Actually, I was assuming they build to the same binary that checks argv, but probably the separate fgrep actually has the regex stuff removed, so maybe what I said doesn't apply.