Ordenar colunas

1. Ordenar colunas

va
franzo

(usa Outra)

Enviado em 19/08/2019 - 11:04h

Problema:
Quero organizar um coluna e pegar os 5 maiores valores:
Meu arq:
"treino.txt"
4326 F -1.308231
3572 F -1.193037
3880 F +0.395166
3882 M +1.025689
3884 F +0.154994
3967 F +0.451967
3970 F +0.228558
3980 M +0.137136
3885 M +0.251529
3588 F -1.151033

minha linha:
cat treino.txt | sort -n -k3 | awk 'NR <=5' > maiores5.txt

meu resultado:
maiores5.txt
4326 F -1.308231
3572 F -1.193037
3588 F -1.151033
3880 F +0.395166
3882 M +1.025689

não ordena, onde estou errando??




  


2. Re: Ordenar colunas

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 19/08/2019 - 15:15h


franzo escreveu:

Problema:
Quero organizar um coluna e pegar os 5 maiores valores:
Meu arq:
"treino.txt"
4326 F -1.308231
3572 F -1.193037
3880 F +0.395166
3882 M +1.025689
3884 F +0.154994
3967 F +0.451967
3970 F +0.228558
3980 M +0.137136
3885 M +0.251529
3588 F -1.151033

minha linha:
cat treino.txt | sort -n -k3 | awk 'NR <=5' > maiores5.txt

meu resultado:
maiores5.txt
4326 F -1.308231
3572 F -1.193037
3588 F -1.151033
3880 F +0.395166
3882 M +1.025689

não ordena, onde estou errando??

Boa tarde Franzo.
Faltou colocar o separador....
Exemplo:
sort -t " " -k3 treino.txt 
3980 M +0.137136
3884 F +0.154994
3970 F +0.228558
3885 M +0.251529
3880 F +0.395166
3967 F +0.451967
3882 M +1.025689
3588 F -1.151033
3572 F -1.193037
4326 F -1.308231


Importante => echo -e "$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')"
Att.: Marcelo Oliver


3. Re: Ordenar colunas

va
franzo

(usa Outra)

Enviado em 19/08/2019 - 15:43h

msoliver escreveu:


franzo escreveu:

Problema:
Quero organizar um coluna e pegar os 5 maiores valores:
Meu arq:
"treino.txt"
4326 F -1.308231
3572 F -1.193037
3880 F +0.395166
3882 M +1.025689
3884 F +0.154994
3967 F +0.451967
3970 F +0.228558
3980 M +0.137136
3885 M +0.251529
3588 F -1.151033

minha linha:
cat treino.txt | sort -n -k3 | awk 'NR <=5' > maiores5.txt

meu resultado:
maiores5.txt
4326 F -1.308231
3572 F -1.193037
3588 F -1.151033
3880 F +0.395166
3882 M +1.025689

não ordena, onde estou errando??

Boa tarde Franzo.
Faltou colocar o separador....
Exemplo:
sort -t " " -k3 treino.txt 
3980 M +0.137136
3884 F +0.154994
3970 F +0.228558
3885 M +0.251529
3880 F +0.395166
3967 F +0.451967
3882 M +1.025689
3588 F -1.151033
3572 F -1.193037
4326 F -1.308231


Importante => echo -e "$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')"
Att.: Marcelo Oliver


ok! está ordenando, mas ele ordena primeiro os positivos e reinicia nos negativos, tem como ordenar do menor negativo ao maior positivo?


4. Re: Ordenar colunas

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 19/08/2019 - 16:24h

franzo escreveu:

msoliver escreveu:


franzo escreveu:

Problema:
Quero organizar um coluna e pegar os 5 maiores valores:
Meu arq:
"treino.txt"
4326 F -1.308231
3572 F -1.193037
3880 F +0.395166
3882 M +1.025689
3884 F +0.154994
3967 F +0.451967
3970 F +0.228558
3980 M +0.137136
3885 M +0.251529
3588 F -1.151033

minha linha:
cat treino.txt | sort -n -k3 | awk 'NR <=5' > maiores5.txt

meu resultado:
maiores5.txt
4326 F -1.308231
3572 F -1.193037
3588 F -1.151033
3880 F +0.395166
3882 M +1.025689

não ordena, onde estou errando??

Boa tarde Franzo.
Faltou colocar o separador....
Exemplo:
sort -t " " -k3 treino.txt 
3980 M +0.137136
3884 F +0.154994
3970 F +0.228558
3885 M +0.251529
3880 F +0.395166
3967 F +0.451967
3882 M +1.025689
3588 F -1.151033
3572 F -1.193037
4326 F -1.308231


Importante => echo -e "$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')"
Att.: Marcelo Oliver


ok! está ordenando, mas ele ordena primeiro os positivos e reinicia nos negativos,
tem como ordenar do menor negativo ao maior positivo?


Não consegui!!!!
Utilizando a opção "-r" (reverse), ordena os Negativos, do Menor para o Maior, mas, "se perde" nos positivos.
sort -t" " -r -k3 treino.txt
4326 F -1.308231
3572 F -1.193037
3588 F -1.151033
3882 M +1.025689
3967 F +0.451967
3880 F +0.395166
3885 M +0.251529
3970 F +0.228558
3884 F +0.154994
3980 M +0.137136

A solução encontrada para pegar os cinco maiores, é:
sed '/-.*$/d' treino.txt|sort -t' ' -k3 -r|head -n5
3882 M +1.025689
3967 F +0.451967
3880 F +0.395166
3885 M +0.251529
3970 F +0.228558

O "SED", elimina os Negativos.....

Importante => echo -e "$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')"
Att.: Marcelo Oliver






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts