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

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

Re: [shell-script] script de download


From: jackson braga
Subject: Re: [shell-script] script de download
Date: Sat, 22 Oct 2005 19:53:07 -0400

mano ou sou totalment juruna ou nao entendi nada mesmo com seu script nao
consegui fazer ele funcionar, me manda o script completinho aew mano please.

agradeço muito sua ajuda

muito obrigado mesmo

abs

On 10/22/05, Tiago Barcellos Peczenyj <address@hidden> wrote:
>
>  Veja bem, vc não precisa pegar o tamanho do arquivo que vc esta
> baixando pra saber quantos porcento do arquivo foi baixado. Quando vc
> executa um wget com a opção -b vc gera um arquivo chamado wget-log e,
> quando inicia o download ele tem o seguinte conteudo:
>
> 0K .......... .......... .......... .......... .......... 0% 45.79 KB/s
> 50K .......... .......... .......... .......... .......... 0% 180.05 KB/s
> 100K .......... .......... .......... .......... .......... 1% 92.11 KB/s
>
> po, ai vem todo um estudo de como pegar estes valores para jogar num
> galge do dialog.
>
> tentei de varias formas, esta funcionou. apos executar, lance estas linhas
>
> #!/bin/bash
> LOG="wget-log"
> FILE="HelixPlayer-1.0.4-4.src.rpm"
> MSG="Baixando o arquivo $FILE"
> URL="ftp://ftp.linux.ncsu.edu/pub/fedora/linux/core/4/SRPMS/";
> error() {echo "fail to load $FILE in $URL" ; exit 1;}
>
> (wget -o $LOG -b ${URL}${FILE} || error && tail -f $LOG | while read LINHA
> do echo $LINHA | grep % | cut -f 2 -d K | cut -d % -f 1 | sed
> 's/[^0-9]//g'
> done) | dialog --gauge "$MSG" 8 40 0
>
> por partes:
> 0) se o wget executa corretamente, ele chama o tail-f por meio do &&
> 1) o tail -f <arquivo> mostra o final do arquivo em tempo de voo, ou
> seja, conforme o arquivo eh atualizado, ele mostra na tela.
> 2) uso o while read linha para ler cara linha do wget e processa-la.
> 3) o grep % pega só as linhas que tem a informação
> 4) o primeiro cut tira o tamanho do arquivo que foi baixado.
> 5) o segundo cut tira o que tem de informação depois de '%'
> 6) o sed transforma tudo que não seja algarismos em nada
> 7) o | dialog --gauge... manda o resultado para o gauge, pode demorar
> dependendo do tamanho do arquivo.
> 8) se o wget não puder executar, chama a função error com o ||
>
> pra entender melhor, executa o tail -f até o | dialog e vai alterando
> os pipes, retirando alguns, observando o fluxo de dados.não foi facil
> usar sed junto de tail -f, não sei por que tive que enfiar um while
> ai, mas de repente alguem descobre uma maneira mais facil. =)
>
> Tem alguns problemas mas... ta 90% pronto.
> []s
> Tiago
>
> > > Em 22/10/05, jackson braga<address@hidden> escreveu:
> > > > olá estava fazendo um script que fize-se a contagem de download em
> uma
> > > > barra
> > > > de contagem usando shellscript e dialog, ate aew tudo bem, mais
> quando
> > > > execulto o script a barra nao sai de 0% e nem faz o download do
> > arquivo,
> > > > alguem poderia me ajudar segue o script.
> > > >
> > > > abs
> > > >
> > > >
> > > > #!/bin/bash
> > > > TITLE = "Fazendo download..."
> > > > MSG = "Fazendo download do arquivo..."
> > > > INTERVALO = 1
> > > > FILE =
> > > >
> > "http://www.linuxti.pro.br/patchs/netqmail-1.05-dns.patch";
> > > > die() { echo "Erro: $*" ; exit 1; }
> > > > sizeof() { du -h "$1" | cut -f1; }
> > > > running(){ ps $1 | grep $1 > /dev/null; }
> > > > # faz o download do $FILE aqui
> > > > wget -b $FILE
> > > > CPPID=$!
> > > > trap "$CPPID" 2 15
> > > > (
> > > > while running $CPPID; do
> > > > COPIADO=$(sizeof $FILE)
> > > > echo $COPIADO" copiados..."
> > > > sleep $INTERVALO
> > > > done
> > > > )
> > > > dialog --title "$TITLE" --gauge "$MSG" 8 40 0
> > > >
> > > > ---
> > > >
> > > > abs
> > > >
> > > > --
> > > > Jackson Braga
> > > >
> > > >
> > > > [As partes desta mensagem que não continham texto foram removidas]
> > > >
> > > >
> > > >
> > > >
> > ---------------------------------------------------------------------
> > > > 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
> > > >
> > ---------------------------------------------------------------------
> > > >
> > > >
> > > >
> > > >
> > > > Yahoo! Grupos, um serviço oferecido por:
> > > >
> > > > ________________________________
> > > > 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!.
> > >
> > >
> > >
> > ---------------------------------------------------------------------
> > > 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
> > >
> > ---------------------------------------------------------------------
> > >
> > >
> > >
> > > *Yahoo! Grupos, um serviço oferecido por:*
> > > ------------------------------
> > > *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<
> address@hidden?subject=Unsubscribe<http://address@hidden?subject=Unsubscribe>
> >
> > > - O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
> > > Serviço do Yahoo!
> > <http://br.yahoo.com/info/utos.html>.
> > >
> > >
> >
> >
> > --
> > Jackson Braga
> > 55 92 9159-8940
> > TI - Loginet Informatica Ltda
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
> >
> > ---------------------------------------------------------------------
> > 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
> > ---------------------------------------------------------------------
> >
> >
> >
> >
> > Yahoo! Grupos, um serviço oferecido por:
> >
> > ________________________________
> > 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!.
>
>
>  ---------------------------------------------------------------------
> 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
> ---------------------------------------------------------------------
>
>
>
>  *Yahoo! Grupos, um serviço oferecido por:*
> ------------------------------
> *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<address@hidden?subject=Unsubscribe>
>    - O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
>    Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.
>
>


--
Jackson Braga
55 92 9159-8940
TI - Loginet Informatica Ltda


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



reply via email to

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