Comando sort [RESOLVIDO]

1. Comando sort [RESOLVIDO]

LINER DE SOUZA SANTOS
linersantos

(usa Ubuntu)

Enviado em 11/03/2020 - 08:57h

Bom dia.
Tenho um arquivo de dados (dados.dat) e apliquei o comando sort para ordenar a 5a coluna em ordem decrescente da seguinte forma:
$ sort -k5gr dados.dat > dados_ordenados.dat
Porém os dados nao ficaram totalmente ordenados. A coluna que eu quis ordenar tem valores decimais e o comando sort só ordenou levando em conta os valores inteiros. Por exemplo, era pra ficar assim:
213.627
213.111

Mas ficou assim
213.111
213.627

Alguem sabe como refinar a precisao do comando sort?


  


2. Re: Comando sort [RESOLVIDO]

Ryuk Shinigami
Ryuk

(usa Nenhuma)

Enviado em 11/03/2020 - 18:10h


linersantos escreveu:

Bom dia.
Tenho um arquivo de dados (dados.dat) e apliquei o comando sort para ordenar a 5a coluna em ordem decrescente da seguinte forma:
$ sort -k5gr dados.dat > dados_ordenados.dat
Porém os dados nao ficaram totalmente ordenados. A coluna que eu quis ordenar tem valores decimais e o comando sort só ordenou levando em conta os valores inteiros. Por exemplo, era pra ficar assim:
213.627
213.111

Mas ficou assim
213.111
213.627

Alguem sabe como refinar a precisao do comando sort?


O comando "sort" está interpretando todo o número "213.627" como um só (uma única coluna por linha), já que não há separadores de campo entre os números (cada caracteres).

Uma saída é separar cada caractere por espaço e depois aplicar o sort:

sed 's/\(.\)/\1 /g' dados.dat | sort -k 6 -r  | sed 's/ //g' > datos_ordenados.dat 

Obs. Como o ponto também conta como uma coluna, então se quer ordenar o quinto digito, coloque -k 6.


3. Re: Comando sort [RESOLVIDO]

LINER DE SOUZA SANTOS
linersantos

(usa Ubuntu)

Enviado em 11/03/2020 - 22:16h

Olá. Na vdd o número é um só msm. Meu arquivo tem 5 colunas.
Eu consegui resolver usando o LOCALE:
LC_ALL=en_US.utf8 sort -k5gr file.dat > file_ordenado.dat
Aproveito pra deixar a dica se alguém precisar 😉






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts