Compare the following:
$ touch -- -x $ less -- -x <control-C> $ more -- -x more: unknown option "-x" usage: more [-dflpcsu] [+linenum | +/pattern] name1 name2 ...
WTF? more doesn’t know what “–” means. Okay, time for a patch.
$ uniq --help Usage: uniq [OPTION]... [INPUT [OUTPUT]]
Ah, so we support an INPUT file and an OUTPUT file…that’s not really unix like IMHO. And what you suppose does:
$ uniq *
It’s probably POSIX compliant, but it sucks nonetheless.