В чем разница между сортировать -t'' -k1,1n -k2,2n
и сортировать -t'' -k1,2n
?
Не могли бы вы привести примеры?
Я пытался:
logan@logan-mainPC:~/my-test/learn-sort$ cat myage
мой возраст 1
мой возраст 100
мой возраст 2
мой возраст 200
logan@logan-mainPC:~/my-test/learn-sort$ cat myage | сортировать -k2,3
мой возраст 1
мой возраст 100
мой возраст 2
мой возраст 200
logan@logan-mainPC:~/my-test/learn-sort$ cat myage | сортировать -k2,2 -k3,3
мой возраст 1
мой возраст 100
мой возраст 2
мой возраст 200
logan@logan-mainPC:~/my-test/learn-sort$ cat myage | сортировать -k2,2 -k3,3n
мой возраст 1
мой возраст 2
мой возраст 100
мой возраст 200
Я думаю сортировать -k2,3
сортирует «возраст 1», «возраст 100», ... и сортировать -k2,2 -k3,3
сортирует «возраст», «возраст»,... затем «1», «100», .... Поскольку все они обрабатывают столбцы как строки, они дают одинаковый результат.
Но сортировать -k2,2 -k3,3n
дает другой результат, потому что он обрабатывает столбец 3 как числа.
Но потом:
logan@logan-mainPC:~/my-test/learn-sort$ cat myage | сортировать -k2,3n
мой возраст 1
мой возраст 100
мой возраст 2
мой возраст 200
что странно. Выяснилось, что причина в том, что столбец 2 не является числом.
logan@logan-mainPC:~/my-test/learn-sort$ cat myage | сортировать --debug -k2,3n
sort: с использованием правил сортировки «en_AU.UTF-8»
sort: ключ 1 является числовым и охватывает несколько полей
мой возраст 1
^ не соответствует ключу
________
мой возраст 100
^ не соответствует ключу
__________
мой возраст 2
^ не соответствует ключу
________
мой возраст 200
^ не соответствует ключу
__________
Спасибо.