Цитируя man sort
:
-k, --key=POS1[,POS2]
start a key at POS1 (origin 1), end it at POS2 (default end of
line). See POS syntax below
Итак:
-k 2
бы начать с ключом 2 до конца строки.
-k 1,1
бы начать с ключом 1 и заканчивается в ключевой 1. Аналогично для -k 1,2
.
Ваш входной образец не показывает разницу, но если вы должны были изменить его немного, то это может быть более ясным:
$ echo -e "9 3 5\n9 2 6\n7 4 1" | sort -k1,1 -t' '
7 4 1
9 2 6
9 3 5
$ echo -e "9 3 5\n9 2 6\n7 4 1" | sort -k1,2 -t' '
7 4 1
9 2 6
9 3 5
$ echo -e "9 3 5\n9 2 6\n7 4 1" | sort -k1,1 -t' ' -s
7 4 1
9 3 5
9 2 6
Особенно наблюдать случай 1 и 3. Выход в случае 1 пострадал даже когда-то должен был быть применен к ключевым 1. Используйте -s
вариант для того, чтобы стабилизировать рода:
-s, --stable
stabilize sort by disabling last-resort comparison