This specifies that the first key is sorted numerically in reverse order while the second is sorted as per the default sort order.
-k keydef
The keydef argument is a restricted sort key field definition. The format of this definition is:
field_start[type][,field_end[type]]
where field_start and field_end define a key field restricted to a portion of the line (see the EXTENDED DESCRIPTION section), and type
is a modifier from the list of characters 'b', 'd', 'f', 'i', 'n',
'r'. The 'b' modifier shall behave like the -b
option, but shall apply
only to the field_start or field_end to which it is attached. The
other modifiers shall behave like the corresponding options, but shall
apply only to the key field to which they are attached; they shall
have this effect if specified with field_start, field_end, or both. If
any modifier is attached to a field_start or to a field_end, no option
shall apply to either. Implementations shall support at least nine
occurrences of the -k
option, which shall be significant in command
line order. If no -k
option is specified, a default sort key of the
entire line shall be used.
When there are multiple key fields, later keys shall be compared only after all earlier keys compare equal. Except when the -u
option
is specified, lines that otherwise compare equal shall be ordered as
if none of the options -d
, -f
, -i
, -n
, or -k
were present (but with -r
still 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.
Best Answer
That's the last resort comparison. When comparing two lines, if all the keys compare equal, then as a last resort, a basic string comparison of the whole lines is performed (
-r
still applies but not the other options). That behavior is specified by POSIX:With GNU
sort
, that last-resort comparison can be disabled with the-s
/--stable
¹ option.¹ as the sorting algorithm used by GNU
sort
is otherwise stable, so disabling that last-resort comparison results in a stable sort..