The idea of a simple rule is great, but the suggested rule fails on sort -u
which afaik came after sort | uniq for performance reasons.
Another idea on the same vein is that a flag should be added only when the
job can be done inside the program and not with stdin/stdout (or no flag
can be added if one can reproduce the same behavior using pipelines).
So, you need sort -u because only within sort can you get the performance
needed to get the job done.
But you don't need -h in ls -lh. All the information to render a human
readable number is present on stdout of ls -l. You could easily have a
filter which renders numbers with options like adding commas, dots,
scientific notation, precision, money, units, etc.
Tyler
On Sun, Mar 8, 2020, 07:33 Jon Steinhart <jon(a)fourwinds.com> wrote:
After following this discussion, I guess that I have a
simplistic way to
determine whether something should be a dash option or a filter. In
general, I'd make a filter if whatever it was doing was applicable to
more than one command, a dash option otherwise.
Jon