shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re:[shell-script] vel-media


From: oteb_04
Subject: Re:[shell-script] vel-media
Date: Sun, 21 Nov 2004 13:15:11 -0000
User-agent: eGroups-EW/0.82

Blz nada!

Achava que o problema estava na contagem de linhas,
cujo total é usado na divisão. E deve ser. Zerei o
arquivo(para respostas mais rápidas). Apesar 
de ainda não ter resultados bons, melhorou.

Fiz o seguinte: no lugar do 'NR', coloquei Linhas=Linhas+1

~$ awk '/download rate/ { Num=Num+$3; Linhas=Linhas+1 } END {print
"\nvel média", Num / Linhas ,"\n" }' /mnt/cl_ant/perfect_world/nohup.out

vel média 3,40974 

~$ ./media.sh
3.90

Explicações sobre o awk seriam muito bem vindas

[]
hpfn

--- Em address@hidden, "oteb_04" <hpfn@i...> escreveu
> 
> Blz MrBits,
> 
> Já tinha feito do outro modo e o erro persiste.
> Então o problema é "registros inconsistentes no seu arquivo."
> 
> Valeu
> 
> []
> hpfn
> 
> --- Em address@hidden, "MrBiTs" <mrbits@t...> escreveu
> > > MrBits, a identação o traiu, ao colar
> > > parte do conteudo do arquivo no email,
> > > o formato se perdeu.
> > 
> > Sacanagem.... o que eu faço ??? Peço o divórcio ? Mato a Identação e
> o safado com o qual ela me traiu ? Fundo a Associacao de Apoio aos
> Cornos da Identacao ???
> > 
> > > Veja, se um dos comandos aqui tivesse retornado
> > > erro, eu não teria dois resultados para
> > > comparar. O que quero é realmente a média. 
> > > E tá dando um resultado bem diferente.
> > > azak@servidor:~$ cat /mnt/cl_ant/perfect_world/nohup.out|grep
> > > "download rate"| cut -d" " -f4|paste -s -d+|bc 
> > > 2143333.83
> > > azak@servidor:~$ awk '/download rate/ {num = num + $3 } END {printf
> > > "\n%5s", num}' /mnt/cl_ant/perfect_world/nohup.out 
> > > 
> > > 1816805
> > > O nome do arquivo não fui eu que escolhi . Veja o
> > > que está em 'info coreutils nohup'
> > > 
> > > If standard output is a terminal, it is redirected so that it is
> > > appended to the file `nohup.out';
> > > 
> > > Se vc fizer:
> > > nohup btdownloadheadless --url http://algum.torrent.que vc.quiser &
> > > vai ficar com um arquivo nohup.out
> > Continuo achando que nohup.out é um nomezinho escolhido as pressas :)
> > 
> > Vamos la... Para nao cair nos problemas da identacao ( safada, sem
> vergonha, vadia ), criei um arquivo somente com algumas linhas assim:
> > 
> > download rate:  6.15 kB/s
> > 
> > Entre o : e o 6.15 existem DOIS espacos. Rodei entao os seus comandos:
> > 
> > cat nohup.out|grep "download rate"| cut -d" " -f4|paste -s -d+|bc  
>                                    
> > 67.65
> > 
> > awk '/download rate/ {num = num + $3 } END {printf "\n%5s", num}'
> nohup.out 
> > 67.65
> > 
> > Ou seja: nada errado com os seus comandos, visto que eles retornaram
> o mesmo resultado. Como ja seus resultados na somatoria deram numeros
> diferentes, voce pode estar com registros inconsistentes no seu arquivo.
> > 
> > Para a média, fazemos:
> > 
> > num=`cat nohup.out|grep "download rate"| cut -d" " -f4|paste -s
-d+|bc`
> > linhas=`cat nohup.out|grep "download rate"| cut -d" " -f4|wc -l`
> > echo "scale=2; $num / $linhas"|bc
> > 
> > e tenho 6.15
> > 
> > Em AWK:
> > awk '/download rate/ {num = num + $3 } END {printf "\n%5s", num /
> NR}' nohup.out
> > e tenho 6.15
> > 
> > No comando que vc passou anteriormente, voce fazia:
> > 
> > awk '/download rate/ {num = (num + $3) / NR} END {printf
> "\n%5s",num}' nohup.out
> > que, no meu exemplo, me da: 0.622123
> > 
> > Entao, é simples. Divida o total pelo numero de registros. Se vc
> ainda tiver resultados diferentes, o problema esta no seu arquivo, nao
> nos comandos.
> > 
> > []´s
> > 
> > 
> > [As partes desta mensagem que não continham texto foram removidas]




reply via email to

[Prev in Thread] Current Thread [Next in Thread]