Contador

1. Contador

Gustavo Pardellas Feijó
chmod000

(usa Debian)

Enviado em 09/08/2007 - 14:38h

Oi pessoal,
estou querendo implementar em um script meu uma especie de contador.

A minha dúvida, na verdade, é na hora de exibir o resultado do contador apenas em uma linha.

Por exemplo:
for i in `seq 100`
do
echo "Contador: $i"
done

Quero que a saída do for tenha apenas uma linha sempre, mas o $i deve variar, claro, mas sem quebra de linha, sempre sobrescrevendo o valor anterior e sem limpar a tela.

Será que deu para entender?
[]'s


  


2. Re: Contador

Elgio Schlemer
elgio

(usa OpenSuSE)

Enviado em 09/08/2007 - 16:52h

Vamos ver se eu entendi.
Tu quer que o contador imprima
Contador 1

E depois o 2 sobre o 1, apagando-o, certo?

Se for isto tem ao menos duas formas de fazer. Uma usando uma espécie de gotoxy do C que dá para emular no bash. Ai tu pula para a posição X Y e escreve.

Outra, mais simples, é voltar com blackspace para imprimir novamente. Veja se este meu exemplo serve:

echo -ne "Contador: 000"; for i in `seq 1 100`; do echo -ne "^H^H^H"; printf "%3d" "$i";sleep 1;done; echo ""


Tive que usar o printf só para garantir que o numero ocupe EXATAMENTE 3 casas, porque dai eu apago 3 posições. Pus um sleep para tu acompanhar o que ocorreu.

Qualquer coisa, prende o grito! :-D




3. URGENTE

Elgio Schlemer
elgio

(usa OpenSuSE)

Enviado em 09/08/2007 - 16:55h

ATENCAO: URGENTE!!

Não é ^H (acento circunflexo + letra H). Se tu copiar e colar é isto que vais ter.

É o ESCAPE do blackspace. Para gerar isto:

Pressione e large Control+V
Pressine Blackspace

Tu deves VISUALIZAR um ^H mas é um controL H e não um acento circunflexo seguido da letra H!

OK?


4. Re: Contador

Gustavo Pardellas Feijó
chmod000

(usa Debian)

Enviado em 14/08/2007 - 15:50h

V A L E U !!!

Era exatamente isso, só que ao invés do ^H, usei o \b.
echo -ne "\b\b\b"

Valeu mesmo!


5. Formatadores do echo

Alexsandro Barbosa Cruz
Alexsabc

(usa Outra)

Enviado em 23/05/2016 - 08:52h

Muito boa a dica do Elgio, funcionou e me serviu em partes. O comando echo me parece muito problemático, tenho dificuldade com os escapes, não encontro exemplos práticos para se trabalhar com eles. Gostaria de fazer o meu contador em uma única linha (como no exemplo do Elgio), mas da seguinte forma:

[ X / 2250 ]

onde X é o contador que varia e o total seria fixo entre chaves.

Em todas as tentativas que fiz o contador apaga a chave " ] " e apaga o total e então fica aquela coisa feia, nunca fica do jeito que eu quero. Se alguém souber fazer isso e puder dar uma luz, agradeço muito!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts