Из руководства по команде sort
-k, --key=POS1[,POS2]
start a key at POS1, end it at POS2 (origin 1)
Версии:
- сортировка:
GNU coreutils 5.93
- ОС:
MAC OSX 10.11.6
- Bash:
GNU bash 3.2.57(1)
- Терминал:
2.6.1
Это не совсем помогает понять, как использовать эту опцию.Я видел такие шаблоны, как -k1 -k2
и -k1,2
(см. этот пост ), -k1.2
и -k1.2n
(см. этот пост ) и -k3 -k1 -k4
(см. этот пост ).
Как работает флаг --key (-k)
для команды sort
?
У меня только смутноеИнтуиция о том, что можно сделать с помощью опции -k
, но если удобно рассмотреть пример, я был бы рад, если бы вы рассмотрели численно (-n
) сортировку следующего ввода по номерам, которые непосредственно следуют за словом «строка»».Если после слова «строка» две записи имеют одно и то же значение, то можно выполнить числовую сортировку по значению, которое следует за буквой «G».
H3_row24_G500.txt
H3_row32_G1000.txt
H3_row9_G999.txt
H3_row9_G1000.txt
H3_row24_G999.txt
H3_row102_G500.txt
H3_row2400_G999.txt
H3_row68_G999.txt
H3_row68_G500.txt
Ожидаемый результат -
H3_row9_G999.txt
H3_row9_G1000.txt
H3_row24_G500.txt
H3_row24_G999.txt
H3_row32_G1000.txt
H3_row68_G500.txt
H3_row68_G999.txt
H3_row102_G500.txt
H3_row2400_G999.txt