Classificando um arquivo apenas por sobrenome

1

Estou interessado em classificar um arquivo de texto que tenha entradas com o nome e sobrenome nessa ordem

[Ex]

John Doe

Estou interessado em classificar a lista apenas pelo ÚLTIMO nome. Isso é um trabalho para sed ou awk? Posso modificar o comando sort para classificar apenas pela segunda palavra ou pelo sobrenome LAST?

    
por Justin 03.12.2014 / 16:00

1 resposta

1

Simplesmente

sort -k2 < your_file > out_file

-k especifica a chave de classificação; por padrão, o número do campo em que o campo é separado por espaços em branco.

Em man sort :

  -k, --key=KEYDEF
          sort via a key; KEYDEF gives location and type
     

KEYDEF é F [.C] [OPTS] [ F [.C] [OPTS]] para a posição inicial e final,   Onde          F é um número de campo e C uma posição de caractere no campo; ambos são          origem 1, e a posição de parada é padronizada para o final da linha. Se nenhum dos dois          -t nem -b está em vigor, os caracteres de um campo são contados a partir do          início do espaço em branco precedente. OPTS é um ou mais          opções de ordenação [bdfgiMhnRrV], que substituem a ordem global          opções para essa chave. Se nenhuma chave for dada, use a linha inteira como          chave.

Exemplo:

[romano:~/tmp] % cat test.txt
a a
b c
d r
k a
t 6
[romano:~/tmp] % sort -k2 < test.txt
t 6
a a
k a
b c
d r
    
por Rmano 03.12.2014 / 16:20