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 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 >