gnu classificar alfanumericamente por uma coluna, seguida por numericamente na próxima coluna?

3

Como posso classificar um arquivo de texto com a classificação GNU começando com uma classificação alfanumérica em uma coluna, seguida por uma classificação numérica na próxima coluna?

Eu tentei sort -n -k1,2 file.txt , mas parece que não funciona:

cluster-7402-walk-0270  100     136     SP3     0.959707
cluster-7402-walk-0270  113     137     SP1     0.959707
cluster-7402-walk-0270  117     136     SP2     0.959707
cluster-7402-walk-0270  117     136     SP4     0.959707
cluster-7402-walk-0270  118     140     SMAD4   0.984412
cluster-7402-walk-0270  121     144     ARNT    0.991913
cluster-7402-walk-0270  121     146     AHR     0.991913
cluster-7402-walk-0270  13      24      GTF2A1  0.965496
cluster-7402-walk-0270  13      24      GTF2A2  0.965496
    
por 719016 06.07.2012 / 12:55

1 resposta

3

Para classificação alfanumérica, você precisa usar version sort . O tipo de classificação deve ser especificado para cada campo, por ex. para classificar alfanumericamente na primeira coluna e numericamente na próxima coluna use:

sort -k 1,1V -k 2,2n file.txt

Veja info sort e pesquise campo de classificação especificado para saber mais sobre isso.

    
por 06.07.2012 / 13:14