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

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

Re: [shell-script] ShellScript Contador


From: Tiago Tarifa
Subject: Re: [shell-script] ShellScript Contador
Date: Tue, 18 Oct 2016 20:30:27 -0200

Obrigado pela dica Julio!



Em 18 de outubro de 2016 19:08, 'Julio C. Neves' address@hidden [shell-script] <address@hidden> escreveu:
 

Bouuua Tiago,
havia me esquecido de citar essa forma tb, mas eu estava muito sintonizado em mostrar o uso da opção -v VAR. Já que vc lembrou, poemos ainda dar uma simplificada, fazendo:

$ eval 'printf "\e(0\x71\e(B%.s"' {1..$(tput cols)}

Assim, na 1a. passada do eval, ele fará somente a expansão de chaves e na segunda executará o printf colocando um travessão para cada elemento gerado pelas chaves.

Veja:

$ echo -e "\e(0\x71\e(B"

Agora dá para ver que \e(0\x71\e(B é a escape sequence que gera um travessão gráfico (do tamanho do sublinha (_), mas na altura do hífen(-)).

Abcs,
Julio
@juliobash

P
róximos cursos de Shell
Cidade         Local Período
São Paulo 4Linux 05
-09/12
Dou treinamento de Shell em qualquer cidade.
Para mais detalhes, me mande um e-mail.


Em 17 de outubro de 2016 20:35, Tiago Tarifa Munhoz address@hidden [shell-script] <address@hidden.br> escreveu:
 

Fala Julião, tudo em ordem?

Eu fiz o curso com você em julho, sou o cara cabeludo que não parava de
tossir.. :0

Saudades de você e do curso. Foi muito legal.

Deixando o melodrama de lado, eu estou estudando o printf com o seu
livro. E andei pesquisando na internet e achei alguém falando da opção
%.s ou %.0s

Ele disse que se você fizer isso:

$ printf "=%.0s" Rei Rei Rei, o Tiago é o melhor

o printf mostrará isso:

========

Não importa qual o parâmetro passado, seja ele um caractere
ou palavra, o printf trocará pelo caractere informado antes do %

neste caso eu fiz isso

$ eval printf \"\\e\(0\\x71\\e\(B\%\.0s\" {1..$(tput cols)}

ficou feio que doí, mas saiu em uma linha. hehe

Aproposito, procurei mas não achei o significado do "\e(0\x71\e(B"

Em Wed, 5 Oct 2016 11:58:46 -0300
"'Julio C. Neves' address@hidden [shell-script]"
<address@hidden.br> escreveu:

> Fala Vinicius,
> só uma particularidade pouco conhecida do printf é a opção -v VAR.
> Com essa opção, vc não precisa fazer atribuição, veja:
>
> $ var=1
> $ printf -v var %010d $(($var + 1))
> $ echo $var
> 0000000002
>
> Então, para passar uma linha (gráfica) por todo o terminal,
> experimente o seguinte:
>
> $ printf -v linha "%$(tput cols)s" ' '
> $ printf -v traco "\e(0\x71\e(B"
> $ echo -n ${linha// /$traco}
> ───────────────────────────────────────────────────────────────────────────────────────────────────
>
> Abcs,
> Julio
> *@juliobash*
>
> *Próximos cursos de Shell*
> *Cidade Local Período*
> *​*
> *São Paulo 4Linux
> <https://www.4linux.com.br/curso/programacao-em-shell-script>
> 05-09/12* Dou treinamento de *Shell* em qualquer cidade.
> Para mais detalhes, me mande um e-mail <address@hidden>.
>
>
> Em 5 de outubro de 2016 10:01, Vinicius Ruiz address@hidden
> [shell-script] <address@hidden.br> escreveu:
>
> >
> >
> > Pessoal Bom dia Tudo Bem ?
> >
> > Gostaria que dessem uma luz sobre como fazer funcionar o seguinte
> > caso.
> >
> > Tenho dois valores de variavel
> >
> > var1=0000000001
> > var2=0
> >
> > var2=$(( $var2 + 1 ))
> >
> > O resultado de var2 ficará será 2 ... var2=2
> >
> > Mas eu preciso que o var2 fique com nesse formato *000000000*2
> >
> > E a cada incremento se chegar em fique assim *000000001**0*
> >
> > Alguém poderia dar um luz pois o contador exclui os "zeros" a
> > esquerda quando o somo.
> >
> > Obrigado.
> >
> > No aguardo.
> >
> > Vinicius
> >
> >
> >




reply via email to

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