Я хотел бы отсортировать файл:
D104HN-D104HA 8.320 4.521 1.69e+05 --
D104HN-D104HB* 8.320 2.823 2.93e+05 --
A90HB#-A90HA 1.655 4.207 7.12e+05 --
A90HB#-F91HA 1.653 4.411 8.59e+04 --
A114HB#-A114HA 1.253 4.098 7.67e+05 --
A114HB#-R111HA 1.251 3.929 1.76e+05 --
A114HB#-W110HA 1.253 4.451 3.68e+04 --
F91HE*-F91HZ 7.237 7.122 7.85e+05 --
F91HE*-K92HA 7.242 3.910 4.88e+04 --
и получить это
A90HB#-A90HA 1.655 4.207 7.12e+05 --
A90HB#-F91HA 1.653 4.411 8.59e+04 --
F91HE*-F91HZ 7.237 7.122 7.85e+05 --
F91HE*-K92HA 7.242 3.910 4.88e+04 --
D104HN-D104HA 8.320 4.521 1.69e+05 --
D104HN-D104HB* 8.320 2.823 2.93e+05 --
A114HB#-A114HA 1.253 4.098 7.67e+05 --
A114HB#-R111HA 1.251 3.929 1.76e+05 --
A114HB#-W110HA 1.253 4.451 3.68e+04 --
То есть отсортировать по числовой схеме по второму и последующим символам первой последовательности непробелов в строке.
text-processing
files
sort
Эдит
источник
источник
sort
команду?Ответы:
Сорта
n
umerically наk
еу , начиная с2
го характером1
го поля , игнорируя ведущийb
Ланкс (и заканчивающееся в конце линии, но это не имеет значения для числового типа , которые только рассматривает исходную последовательность десятичных цифр).Обратите внимание, что если есть связь, как между этими двумя строками:
Тогда порядок будет основан на последнем способе сортировки, который полностью сравнивает две строки как строки.
В некоторых локалях пробелы будут игнорироваться в первую очередь для сравнения строк, в этом случае F91 будет предшествовать K92 (как
F
сортирует ранееK
). С другими, как в локали C, пробелы не будут игнорироваться, и K92 будет затем перед F91 (космические сортировки раньшеF
).Для сортировки в крайнем случае, которое игнорирует ведущие пробелы независимо от локали, вы можете сделать:
Это
1b
можно отсортировать (по связям на первом ключе) лексически на участке строки, который начинается с первого поля, игнорируя начальные пробелы.источник