Quando você especifica um campo de classificação que não existe, a chave de classificação ficará vazia para cada comparação que o sort fizer. Isso significa que as chaves irão comparar igual, sempre. Isso aciona uma parte da especificação padrão de sort que diz que o linha inteira deve ser usada como chave de classificação e que nenhuma das opções -d , -f , -i , -n ou -k permaneça em vigor.
Isso, por sua vez, significa que o comando será idêntico ao
sort -r nos
que faz uma classificação lexicográfica reversa dos dados (o -t= não tem efeito aqui). 997 precede 1000 na ordem lexicográfica reversa, pois 9 é solicitado antes de 1 .
O bit relevante do padrão POSIX:
-k keydef[...]
Except when the
-uoption is specified, lines that otherwise compare equal shall be ordered as if none of the options-d,-f,-i,-n, or-kwere present (but with-rstill in effect, if it was specified) and with all bytes in the lines significant to the comparison. The order in which lines that still compare equal are written is unspecified