Classificando várias colunas, com a segunda coluna sendo ordenada por ordem numérica [duplicada]

1

arquivo: nameslist.txt

Emily 0
Emily 1
Emily 5
Joe 0
Joe 10
Joe 5
Joe 6

Este é o comando que eu executei:

cat nameslist.txt | sort -k1 -k2

O resultado:

Emily 0
Emily 1
Emily 5
Joe 0
Joe 10
Joe 5
Joe 6

Parece que está classificando pelo primeiro número, mas como posso fazer com que a segunda coluna seja ordenada numericamente? O resultado que eu quero é:

Emily 0
Emily 1
Emily 5
Joe 0
Joe 5
Joe 6
Joe 10
    
por LLL 24.01.2018 / 19:21

1 resposta

2

Use a opção -n para classificar numericamente:

sort -k1,1 -k2n nameslist.txt

Não há necessidade de usar cat para ler o arquivo de entrada. sort fará isso sem precisar de outro processo.

A notação -k1,1 define os limites de início e fim da primeira chave de classificação para o primeiro campo.

    
por 24.01.2018 / 19:31

Tags