Como ordenar num campo numericamente

0

Eu estou tentando classificar um arquivo chamado "Team_James" numericamente pela última coluna e, em seguida, gostaria de salvar a saída como um novo arquivo chamado "file3".

Eu tentei o comando sort Team_James | > s3 , mas não sei como fazer isso, e nem sei o que é -k ! Eu tenho procurado em todos os lugares na Internet.

O que estou fazendo de errado?

Aqui qual a saída do meu comando cat Team_James

Pam Murray      4    657-4324  18
Jim Brown       8    467-8743  22
Jim Roberts     17   728-8295  9
Joyce Murray    7    235-1432  13
    
por Anonymous 03.10.2018 / 23:21

1 resposta

1

Olhando para a tabela, na coluna # 1 existem espaços entre o primeiro nome e o sobrenome. Isso significa que sort considerará o primeiro e o último nome duas colunas separadas. Como resultado, a última coluna da tabela de entrada é # 5. O comando abaixo, assume que todos os nomes fornecidos na coluna # 1 são primeiro / último e não há nomes do meio.

cat Team_James | sort -s -n -k 5.1 > file3
Jim Roberts     17   728-8295  9
Joyce Murray    7    235-1432  13
Pam Murray      4    657-4324  18
Jim Brown       8    467-8743  22
-n, --numeric-sort   compare according to string numerical value  
-s, --stable         stabilize sort by disabling last-resort comparison  
-k, --key=POS1[,POS2]  
      start a key at POS1 (origin 1), end it at POS2 (default end of  
      line).  See POS syntax above.  
    
por 03.10.2018 / 23:31

Tags