1

У меня есть файл формы:

kl2,LL
kl2,nan
kl2,MORE
kl2,PRQ
kl2,JJ
abc87,PRQ
abc87,JJ
abc87,nan
abc87,MORE
abc87,LL
...

и я хотел бы отсортировать это по первому столбцу, оставляя второй столбец в том порядке, в котором они находятся в данный момент (для того блока, который соответствует первому столбцу). Вывод, который я хочу, выглядел бы так:

abc87,PRQ
abc87,JJ
abc87,nan
abc87,MORE
abc87,LL
kl2,LL
kl2,nan
kl2,MORE
kl2,PRQ
kl2,JJ

Я попытался отсортировать это как sort test.im -t, -k1 (и несколько других вариантов), но каждая попытка всегда сортировала и второй столбец, и результат в итоге выглядел так:

abc87,JJ
abc87,LL
abc87,MORE
abc87,nan
abc87,PRQ
kl2,JJ
kl2,LL
kl2,MORE
kl2,nan
kl2,PRQ

1 ответ1

2

С помощью сортировки GNU добавьте опцию --stable . Это «стабилизировать сортировку, отключив последнее средство сравнения». Также измените -k1 на -k1,1 .

sort test.im -t, -k1,1 --stable

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .