У меня есть файл, который содержит уже упорядоченные данные, и я хотел бы изменить порядок файлов в соответствии со значениями в одном ключе, не нарушая порядок данных в других ключах.
Как запретить сортировке GNU выполнять сортировку строк на основе значений ключей, которые я не указал, или как указать сортировку GNU, чтобы при сортировке игнорировать диапазон ключей?
Файл data.txt:
1 Don't
2 C
1 Sort
2 B
1 Me
2 A
Ожидаемый результат:
1 Don't
1 Sort
1 Me
2 C
2 B
2 A
Команда:
sort -k 1,1 <data.txt
Результат: нежелательная сортировка, о которой я не просил:
1 Don't
1 Me
1 Sort
2 A
2 B
2 C
Для (не GNU)
sort
реализаций, у которых нет-s
опции, вы всегда можете сделать:То есть, добавьте номер строки, чтобы сделать его вторым ключом сортировки, и удалите его после.
источник