Liste as linhas com as pontuações mais altas

1

Eu tenho o seguinte problema com relação à classificação de um conteúdo de um arquivo. Eu tenho um arquivo chamado points.txt e contém a seguinte tabela de dados:

Jim:4
Tim:8
Lin:6
Tom:1
Esko:2
Jaska:5
Erkki:7 

Agora, como posso listar a seguinte lista em ordem numérica (o mais alto primeiro) ou como listar os três nomes com as pontuações mais altas. Eu tentei o seguinte, eles não parecem funcionar

sort -n -k 1,1 points.txt
sort -n points.txt
sort -n ^: points.txt
    
por cash 16.11.2013 / 18:43

1 resposta

3

Se você está procurando o top 3

sort -k2,2rn -t: points.txt  | head -n 3 | cut -f1 -d:

-k especifica o campo de classificação, as partes a seguir indicam o seguinte

2,2 - chave de classificação começa e termina no campo 2

n - classificação numérica

r - ordenação inversa

-t é usado para especificar o separador de campo, que neste caso é :

    
por 16.11.2013 / 18:52