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

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

Re: [shell-script] calcular hora (essa e bronca, totalmente HARDCORE)


From: Jorge Pereira
Subject: Re: [shell-script] calcular hora (essa e bronca, totalmente HARDCORE)
Date: Mon, 04 Jul 2005 20:16:59 -0300

hahahaha
vc e um "ESCROTO", POW CARA... obrigado mermo!
quando tiver por aqui em recife, da o toque que eu pago uma cerva pra
você com um churrasco...
valeu brother!

:)


Em Seg, 2005-07-04 às 19:42 -0300, Fábio Batista escreveu:

> Opa de novo.
> 
> Troque os -gt por -ge.
> Ou refaça tudo. Falta muita otimização nesse script, tá uma bagunça :)
> 
> -- 
> Fábio David Batista
> address@hidden
> http://nerd-o-matic.blogspot.com
> 
> On 7/4/05, Fábio Batista <address@hidden> wrote:
> > Opa. Precisava de média, é?
> > 
> > [fabio@elefante testes]$ cat tempos.sh
> > #!/bin/bash
> > # vim:ts=2:
> > 
> > totalh=0
> > totalm=0
> > totals=0
> > c=0
> > 
> > IFS=":"
> > while read h m s
> > do
> >         echo "h: $h m: $m s: $s"
> >         totalh=$((totalh + h))
> >         totalm=$((totalm + m))
> >         totals=$((totals + s))
> >         c=$((c + 1))
> > done < <( sed -r 's/^\S+\s+//' tempos.txt )
> > 
> > while [ $totals -gt 60 ]
> > do
> >         totalm=$((totalm + 1))
> >         totals=$((totalh - 60))
> > done
> > 
> > while [ $totalm -gt 60 ]
> > do
> >         totalh=$((totalh + 1))
> >         totalm=$((totalm - 60))
> > done
> > 
> > sums=$((totalh * 60 * 60 + totalm * 60 + totals))
> > meds=$((sums / c))
> > 
> > mediah=$((meds / 60 / 60))
> > mediam=$((meds / 60 - mediah * 60))
> > medias=$((meds - mediam * 60 - mediah * 60 * 60))
> > 
> > echo "total: h: $totalh m: $totalm s: $totals"
> > echo "media: h: $mediah m: $mediam s: $medias"
> > 
> > [fabio@elefante testes]$ bash tempos.sh
> > h: 01 m: 31 s: 44
> > h: 01 m: 21 s: 24
> > h: 05 m: 55 s: 03
> > h: 11 m: 41 s: 44
> > h: 55 m: 21 s: 23
> > h: 03 m: 31 s: 24
> > h: 01 m: 07 s: 41
> > total: h: 80 m: 28 s: 17
> > media: h: 11 m: 29 s: 45
> > 
> > --
> > Fábio David Batista
> > address@hidden
> > http://nerd-o-matic.blogspot.com
> > 
> > 
> > On 7/4/05, Fábio Batista <address@hidden> wrote:
> > > Com bash é barbada:
> > >
> > > [fabio@elefante testes]$ cat tempos.txt
> > > ROTINA1    01:31:44
> > > ROTINA2    01:21:24
> > > ROTINA3    05:55:03
> > > ROTINA4    11:41:44
> > > ROTINA5    55:21:23
> > > ROTINA6    03:31:24
> > > ROTINA7    01:07:41
> > >
> > > [fabio@elefante testes]$ cat tempos.sh
> > > #!/bin/bash
> > > # vim:ts=2:
> > >
> > > totalh=0
> > > totalm=0
> > > totals=0
> > >
> > > IFS=":"
> > > while read h m s
> > > do
> > >   echo "h: $h m: $m s: $s"
> > >   totalh=$((totalh + h))
> > >   totalm=$((totalm + m))
> > >   totals=$((totals + s))
> > > done < <( sed -r 's/^\S+\s+//' tempos.txt )
> > >
> > > while [ $totals -gt 60 ]
> > > do
> > >   totalm=$((totalm + 1))
> > >   totals=$((totalh - 60))
> > > done
> > > while [ $totalm -gt 60 ]
> > > do
> > >   totalh=$((totalh + 1))
> > >   totalm=$((totalm - 60))
> > > done
> > > echo "total: h: $totalh m: $totalm s: $totals"
> > >
> > > [fabio@elefante testes]$ bash tempos.sh
> > > h: 01 m: 31 s: 44
> > > h: 01 m: 21 s: 24
> > > h: 05 m: 55 s: 03
> > > h: 11 m: 41 s: 44
> > > h: 55 m: 21 s: 23
> > > h: 03 m: 31 s: 24
> > > h: 01 m: 07 s: 41
> > > total: h: 80 m: 28 s: 17
> > >
> > > --
> > > Fábio David Batista
> > > address@hidden
> > > http://nerd-o-matic.blogspot.com
> > >
> > >
> > > On 7/4/05, Jorge Pereira <address@hidden> wrote:
> > > > Olá Amigos da Lista,
> > > > Estou com uma Bronca muito seria e sei que se deus quiser algum
> > > > abençoado vai me ajudar a resolver está bronca.
> > > > vamos lá.
> > > >
> > > > 1) eu tenho um programa que me retorna as tais colunas, exemplo.
> > > >
> > > > = > Programa XYZ
> > > >
> > > > ROTINA1    01:31:44
> > > > ROTINA2    01:21:24
> > > > ROTINA3    05:55:03
> > > > ROTINA4    11:41:44
> > > > ROTINA5    55:21:23
> > > > ROTINA6    03:31:24
> > > > ROTINA7    01:07:41
> > > >
> > > > 2) O que eu preciso, tipo! preciso que ele pegue estes dados e
> gere um
> > > > calculo tipo.
> > > >
> > > >
> > > > O Programa (XYZ) teve uma media de X horas e Y minutos e Z
> Segundos, ou
> > > > algo parecido
> > > >
> > > > 22h:41m:03s
> > > >
> > > > ou
> > > >
> > > > 1d:12m:44s
> > > >
> > > > OBS: Se alguem puder me ajudar, ficaria muito grato com este
> calculo...
> > > > acho que o ideal seria utilizar o AWK, mais não consegue
> abstrair o
> > > > calculo
> > > > perfeito para tal situação.
> > > >
> > > > Um Abraço a todos
> > >
> >
> 
> 
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação,
> como perl, C etc. Quem insistir em não seguir esta regra será moderado
> sem prévio aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
> 
> 
> 
> 
> ______________________________________________________________________
> Links do Yahoo! Grupos
>       * Para visitar o site do seu grupo na web, acesse:
>         http://br.groups.yahoo.com/group/shell-script/
>           
>       * Para sair deste grupo, envie um e-mail para:
>         address@hidden
>           
>       * O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
>         Serviço do Yahoo!.
> 

-- 
--
 Atenciosamente: Jorge Pereira
 Técnico e Analista de Segurança em Redes Linux
 Fone: +55 (81) 8833-2484 - (Recife/PE)
 Site: http://www.jorgepereira.com.br/ 
 E-mail: address@hidden, address@hidden
--


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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