Как отсортировать файл в unix как в алфавитном, так и в цифровом формате в разных полях?
Пожалуйста, не думайте, что это повторение вопроса "Сортировка буквенно-цифровых данных в unix"... Я посмотрел на другие ответы и подумал, что мой случай немного отличается!
У меня есть такие данные:
A 192
D 112
D 188
C 091
A 281
B 919
... И я хочу отсортировать первый столбец 1 (в алфавитном порядке), а затем по столбцу 2 (численно). Я попытался использовать:
sort -n -k1,2
... Но это дало мне правильно отсортированное для первого поля, но затем неправильная сортировка для второго поля (1000 1002 1003,10,1... вместо 1,10,1100,1002,1003).
Кто-нибудь может предложить, как отсортировать эти два столбца так, как мне хотелось бы?
Ответы
Ответ 1
Попробуйте использовать вот так: -
sort -k1,1 -k4,4n
- -n: выбор программы в соответствии с численным значением
- -k opts: Сортировка данных/полей с использованием заданного номера столбца. Например, опция -k 2 сделала сортировку программы, используя вторую столбец данных. Опция -k 3,3n -k 4,4n сортирует каждый столбец. Первый
он сортирует 3-й столбец, а затем 4-й столбец.
Ответ 2
Это должно работать:
sort -t "," -k1,1 -k2n,2 file
Ответ 3
Привет, когда я использую эту опцию, я получаю
Входной файл указан дважды