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