The manual says "u -- Suppress all but one in each set of equal lines". It doesn't say which one. Now a *real* bug with sort -f is that it folds lower case onto upper case rather than vice versa as advertised. This means that [\]^_` (the ASCII characters between Z and a) sort after the letters instead of before.