A classificação do terminal não está funcionando corretamente

2

Estou tentando classificar um arquivo de texto pela segunda coluna. Todo o texto no arquivo está em word /t number format (uma palavra, uma tabulação e seu peso). Eu estou tentando classificar o arquivo por sua segunda coluna, em peso, mas os resultados não são bons. O arquivo está em & amp; escreva.

O comando que estou usando é sort -k2,2nr . (ou mude n para g ou h).

Sem sorte com nenhum deles.

exemplo de poucas linhas, talvez o formato seja importante:

00001930-n      7.18509e-06
00001740-n      4.35957e-05 
00002137-n      1.13377e-05
00002452-n      7.73398e-06
00002684-n      0.000244948 
00003553-n      3.98312e-05
00003993-n      3.98321e-07

alguns resultados aqui: parece que o expoente não é cuidado. (esses números são criados usando sort -k2,2nr filename .

02052204-n      3e-06  
01975237-v      1.2e-06  
02288155-v      1.2e-06  
15105733-n      1.4e-06  
00962135-a      1.6e-06  
09719309-n      1.9e-06  
02998269-a      2.5e-05  
11938977-n      3.1e-06  
14498972-n      3.6e-06  
03341153-n      5.4e-07  
01908703-n      6.5e-06  
00257026-r      1.02e-06  
08111599-n      1.03e-05  
    
por txorimalo 23.11.2016 / 14:41

2 respostas

3

Você tem as opções trocadas, você precisa:

sort -k2,2gr filename
  • k2,2 define a chave para classificação como o segundo campo apenas; g,r é análogo a -g e -r , a única diferença é que isso funciona apenas na chave quando usado assim
por heemayl 23.11.2016 / 14:42
0

Resolvido. Lamento não ter nada a ver com a função de classificação, mas deixarei uma resposta caso alguém tenha o mesmo problema.

O problema foi o local. Sou da Espanha e, mesmo que o meu idioma do SO e algumas outras opções estejam em en_US.UTF-8 , o numérico estava em es_ES.UTF-8 . Eu mudei esse valor local e o tipo funcionou. (Eu acho que tem algo a ver com o sinal de pontuação.)

    
por txorimalo 23.11.2016 / 16:09