Сортировать файл по двум столбцам в случае двух одинаковых значений
Я хочу отсортировать файлы по одному столбцу, но в случае двух одинаковых значений я хочу отсортировать эти два по другому столбцу. Как мне это сделать?
Мой файл:
1 2 3
1 3 2
1 4 3
2 4 1
2 1 3
3 1 4
3 1 2
Я не знаю, я правильно понимаю. После -k я набираю столбец и параметры. Следующая опция -k sort columnt, которые совпадают с первой опцией k. Opcion -k 2 сортировать по второму столбцу, а затем по следующему к последнему или первому столбцу? -k 2,2 сортировать по второму столбцу и не сортировать другие?
1 ответ
Вы можете поместить несколько ключей -k, чтобы они сортировались с использованием первого ключа -k, а в случае рисования - следующего ключа -k.
В вашем примере (sort -k 2 -r -k 1 -nf) он выполнил то, что вы просили: отсортировать в обратном порядке по столбцу 2 и, в случае отрисовки, по столбцу 1 в порядке возрастания. Вы можете разрешить вариант с именем столбца, чтобы быть уверенным, какой параметр применяется к какому столбцу. Ваш пример может быть сортировать -k 2nr -k 1n .
опция -k 2,4 указывает сортировке использовать столбцы со 2 по 4 в качестве ключа для сортировки.