Como ordenar numérico pela última coluna?

15

Eu tenho esta entrada:

sdkxyosl 1
safkls 2
asdf--asdfasxy_asd 5
dkd8k  jasd 29
sdi44sw 43
asasd afsdfs 10
rklyasd 4

Eu preciso dessa saída:

sdi44sw 43
dkd8k  jasd 29
asasd afsdfs 10
asdf--asdfasxy_asd 5
rklyasd 4
safkls 2
sdkxyosl 1

Então, preciso classificar as linhas pela última coluna.

Eu não sei quantas colunas estão em uma linha.

Eu simplesmente não consigo descobrir como fazer isso. Eu não tenho "poderes perl". Eu tenho apenas poderes médios de script com sed, awk, cut, etc.

Alguém sabe como fazer isso?

    
por LanceBaynes 02.04.2011 / 22:09

1 resposta

23

A linha de comando a seguir usa awk para preceder o último campo de cada linha do arquivo.txt, faz uma classificação numérica inversa e, em seguida, usa cut para remover o campo adicionado:

awk '{print $NF,$0}' file.txt | sort -nr | cut -f2- -d' '
    
por 02.04.2011 / 22:41