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

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

Re: [shell-script] Progress bar


From: Jorge Pereira
Subject: Re: [shell-script] Progress bar
Date: Wed, 21 Dec 2005 16:12:07 -0300

procure por "tput"

man tput

[]'s

Em 20/12/05, Fabricio Lopes de Souza <address@hidden> escreveu:
>
>  Obrigado , vou dar uma trabalhada em cima deles e posto aqui o resultado
> so outra  duvida , nao tem como sobrescrever um caractere na tela ???
> exemplo , no fim da tela tem um contador que vai crescendo ....
>
> On 12/20/05, Reinaldo Marques de Lima <address@hidden> wrote:
> >
> > tenho tres exemplos que consegui não sei onde, espero que te ajude...
> >
> >
> #......................................................................................................................................#
> >
> > Gerando barra de Progresso
> > ##########################
> > #só com shell:
> > t=0;echo -n " 0 ";while [ $t -lt 100 ];do t=$[t+1];\
> > echo -ne "\e[${#t}D#$t";sleep 1;done
> > #idem:
> > t=0;echo -en "                                                  100\r 0
> ";\
> > while [ $t -lt 100 ];do t=$[t+1];[ $[ $t%2 ] -eq 0 ]&&\
> > echo -ne "\e[${#t}D#$t";sleep 1;done;echo
> > #+1:
> > t=0;while [ $t -lt 100 ];do echo -ne "\r  0";x=0;while [ $x -lt 100 ];do
> \
> > [ $[$x%2] -eq 0 ]&& { echo -ne "\e[7m";[ $x -gt $t ] &&echo -en
> "\e[0m";\
> > echo -n " ";};x=$[x+1];done;echo -n 100%;sleep 1;t=$[t+1];done;echo
> > #com dialog:
> > t=0;while [ $t -lt 100 ];do t=$[t+1];echo $t;sleep .3;done\
> > |dialog --gauge "Barra de Progresso com dialog" 10 72
> >
> >
> #.......................................................................................................................................#
> >
> > []'s
> >
> > echo
> 1818051527984510780893780664296243491354600493300713506724768535179018P
> > | dc
> >
> >
> >
> >
> > >From: Fabricio Lopes de Souza <address@hidden>
> > >Reply-To: address@hidden
> > >To: address@hidden
> > >Subject: [shell-script] Progress bar
> > >Date: Mon, 19 Dec 2005 11:53:42 -0200
> > >
> > >Estou tentando fazer uma barrinha que mostre +- o quanto foi executado
> > >do processo e talz.
> > >Algumas duvidas surgiram :
> > >Eh possivel de alguma forma o script conseguir ler o conteudo de
> > >COLLUMNS sem ter que exportar ?
> > >A algum outro jeito de fazer essa barra ?
> > >
> > >ta ai o meu teste
> > >Script meramente ilustrativo :)
> > >[code]
> > >#!/bin/bash
> > >
> > >[ $COLUMNS ] || {
> > >    echo Você precisa exportar a variável \"COLUMNS\":
> > >       echo "Tente \"export COLUMNS\" e tente executar novamente"
> > >          exit 1
> > >          }
> > >
> > >read -p "Qual o tamanho do arquivo ? [ em KB ] : " size
> > >read -p "Qual o nome do arquivo? : " name
> > >
> > > > $name
> > >echo -n "|="
> > >verbose=$(expr $size / $COLUMNS )
> > >flag_B=0
> > >for i in $(seq 1 $size) ; do
> > >    if [ $flag_B -eq 0 ] ; then
> > >       flag_A=$i
> > >       flag_B=1
> > >    fi
> > >temp=$(expr $flag_A + $verbose)
> > >    if [ $i -eq $temp ] ; then
> > >       echo -n "="
> > >       flag_B=0
> > >    fi
> > >    cat a >> $name
> > >
> > >done
> > >    echo -n "|"
> > >    echo ""
> > >echo "DONE!"
> > >[/code]
> > >
> > >explicando
> > >Primeiro se exporta COLUMNS para sabermos o tamanho do terminal
> > >Depois pegamos o tamanho do arquivo que se quer , seguindo do
> > >pressuposto que o arquivo "a" tem 1KB . Tamanho do Arquivo ($size) /
> > >Colunas ($COLUMNS) = Intervalo ($verbose)  , ou seja a cada intervalo
> > >devera aparecer um caracter .
> > >
> > >Espero que fui claro ...
> > >
> > >Abracos :)
> >
> >
> >
> >
> > ---------------------------------------------------------------------
> > 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
> >
> >
> >
> >
> >
> >
> >
> >
>
>
>  ---------------------------------------------------------------------
> 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:*  PUBLICIDADE
> <http://br.rd.yahoo.com/SIG=12fcsgeip/M=386470.7632849.8508174.2369893/D=brclubs/S=2137111254:HM/Y=BR/EXP=1135112596/A=3135788/R=2/id=noscript/SIG=12c39trgo/*http://ad.br.doubleclick.net/clk;22846485;12120066;a?http://www.hoteis.com>
> ------------------------------
> *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>.
>
>


--
Regards,
Jorge Pereira, From: Olinda/Pe/Brazil
Home:  http://www.jorgepereira.com.br/
E-mail:  address@hidden, address@hidden
Mobile: +55 (81) 8833-2484
"Se você ama alguma coisa, liberte-a;
Se ela não voltar a ti, cace-a e mate-a."


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



reply via email to

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