Ordenar lexicograficamente no bash

5

Eu quero que os dados sejam classificados na maneira como o Python os classifica, comparando os valores ASCII. Mas o comando sort parece muito inteligente para isso. Dê uma olhada. Desde '.' < '9' :

$ sort
.
9
^D
.
9

$ sort
1.
19
^D
1.
19

Estes dois estão bem. Mas por algum motivo, se eu apenas adicionar caracteres às extremidades:

$ sort
1.c
19z
^D
19z
1.c

Provavelmente, ele tenta ler isso como um número ou algo assim. Eu não quero isso, eu quero classificar coisas comparando valores ASCII de cada personagem. Não foi possível encontrar essa opção em man , alguma ideia?

    
por valya 13.08.2013 / 17:24

1 resposta

5

O comportamento descrito é provavelmente um efeito de localidade. Desativar as configurações de localidade para ordenação:

$ echo '1.c
19z ' | LC_ALL=C sort
1.c
19z
    
por 13.08.2013 / 17:27

Tags