Classificando um arquivo separado por vírgulas pela primeira coluna enquanto preserva alguma ordem

1

Eu tenho um arquivo do formulário:

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

e gostaria de classificá-lo pela primeira coluna, deixando a segunda coluna na ordem em que estão atualmente (para aquele bloco que corresponde à primeira coluna). A saída que eu quero ficaria assim:

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

Eu tentei classificar isso como sort test.im -t, -k1 (e algumas outras variantes), mas todas as tentativas sempre classificaram a segunda coluna, e a saída termina assim:

abc87,JJ
abc87,LL
abc87,MORE
abc87,nan
abc87,PRQ
kl2,JJ
kl2,LL
kl2,MORE
kl2,nan
kl2,PRQ
    
por anthr 02.01.2016 / 04:28

1 resposta

2

Com a classificação GNU, adicione a opção --stable . Isso "estabiliza o tipo desabilitando a comparação de último recurso". Altere também -k1 para -k1,1 .

sort test.im -t, -k1,1 --stable
    
por 02.01.2016 / 05:00

Tags