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

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

Re: [shell-script] como pegar o numero atual da linha no shell (Posicion


From: Julio C. Neves
Subject: Re: [shell-script] como pegar o numero atual da linha no shell (Posicionando a String do lado direito)
Date: Thu, 6 Jul 2006 18:24:24 -0300

Fala Jorge,
das duas uma: ou eu tô ficando gagá e não consigo entender a sua dúvida ou
vc não está explicando legal. Vejamos o seu exemplo:
 [wjn028@tornado]:~/scripts> _str="Jorge Pereira"
Legal, criou a variável $_str com seu nome.
 [wjn028@tornado]:~/scripts> posi="$(($(tput cols)-${#_str}))"
Legal, colocou na variável $posi a coluna na qual, caso vc escrevesse $_str,
a última letra do seu nome estaria na última coluna da tela
 [wjn028@tornado]:~/scripts> tput cup 4 88; echo $_str
Não entendi! pq 4 e pq 88? Do jeito que o seu script estava indo, pensei que
vc fosse fazer:
tput cup 4 $posi; echo $_str
Ou, mais curto e mais rápido, simplesmente faria:
_str="Jorge Pereira"
printf "%$(tput cols)s\n" "$_str"

Abraços,
Julio
:wq

2006/7/6, Jorge Pereira <address@hidden>:
>
> desta forma eu conheço julio, mais o que eu preciso agora e justificar
> precisamente do lado direito, fiz desta forma.
>
> [wjn028@tornado]:~/scripts> _str="Jorge Pereira"
> [wjn028@tornado]:~/scripts> posi="$(($(tput cols)-${#_str}))"
> [wjn028@tornado]:~/scripts> tput cup 4 88; echo $_str
>
>
> Jorge Pereira
> [wjn028@tornado]:~/scripts>
>
> mais queria fazer de uma forma que fica-se generica a posição da linha,
> tentei salvando a posição do cursor e recuperando mais não rolou!
> alguma sugestão?
>
> On 7/6/06, Julio C. Neves <address@hidden> wrote:
> >
> > Fala Jorge,
> > Pelo seus e-mails anteriores, não me passou pela cabeça que o seu
> problema
> > era justificar um texto pela direita. Isso se faz com o printf e não com
> o
> > tput. Veja só:
> >
> > $ printf "%15s\n" Jorge
> >           Jorge
> >
> > Desta forma, escrevi Jorge com 15 posições alinhado à direita.
> >
> > Abraços,
> > Julio
> > :wq
> >
> > 2006/7/5, Jorge Pereira <address@hidden>:
> >
> > >
> > > sim!!
> > >
> > > na medida certa, minha unica duvida foi e referente a justificar o
> texto
> > > precisamente no lado direito, não encontrei a opção do tput para isto.
> > >
> > >
> > > On 7/5/06, Julio C. Neves <address@hidden> wrote:
> > > >
> > > > Fala Jorge,
> > > > não entendi bem o que vc queria, mas tenho duas perguntas a fazer:
> > > > 1- Vc consultou a parte de tput em www.julioneves.com?
> > > > 2- A resposta do Valtoir não atende ao que vc quer?
> > > >
> > > > Caso a sua resposta seja negativa em ambas as questões, te peço que
> > > > reformule a sua pergunta pq não entendi direito o que querias.
> Abaixo
> > um
> > > > "bacalho" para ficar contando segundos no mesmo lugar.
> > > >
> > > > clear; tput civis; tput cup 10 10; tput sc
> > > > for ((i=1; i<=10; i++));
> > > > {
> > > >     tput rc
> > > >     date "+%S"
> > > >     sleep 1
> > > > }
> > > > tput cnorm
> > > >
> > > > [ ]s,
> > > >
> > > > Julio
> > > > :wq
> > > >
> > > >
> > > >
> > > >
> > > > 2006/7/4, Jorge Pereira <address@hidden>:
> > > > >
> > > > > julio, tudo bom?
> > > > >
> > > > > mais veja so..digamos que eu esteja la pela 17 linha e executo o
> > > script
> > > > > que
> > > > > possue um bloco conforme o abaixo.
> > > > >
> > > > > for i in $(seq 1 10); do
> > > > >    echo "--> $i"
> > > > >    sleep 0.2
> > > > > done
> > > > >
> > > > > eu quero que ele exiba na mesma posição (x/y) tipo
> > > > >
> > > > > for i in $(seq 1 10); do
> > > > >    tput cup XX 0
> > > > >    echo "--> $i"
> > > > >    sleep 0.2
> > > > > done
> > > > >
> > > > > quero que ele fique imprimindo na linha currente de
> > execução...sacou?
> > > > > isto e possivel? por que da forma que eu fiz eu to limpando a tela
> e
> > > > > executando
> > > > > de cima pra baixo.
> > > > >
> > > > > On 7/4/06, Julio C. Neves <address@hidden> wrote:
> > > > > >
> > > > > > Fala Jorge,
> > > > > > se vc fizer:
> > > > > >
> > > > > > tput sc       # sc = Save Cursor position
> > > > > >
> > > > > > será salva a posição atual do cursor. Para voltar a esta
> posição,
> > > use:
> > > > > >
> > > > > > tput rc       # rc = Restore Cursor position
> > > > > >
> > > > > > Para saber o tamanho da tela, use:
> > > > > >
> > > > > > tput lines
> > > > > >
> > > > > > ou:
> > > > > >
> > > > > > tput cols
> > > > > >
> > > > > > Vc verá isso e muito mais em www.julioneves.com (no quadro
> > > localizado
> > > > no
> > > > > > canto superior esquerdo da página digite tput e siga o link
> > > oferecido)
> > > > > >
> > > > > > Abração,
> > > > > > Julio
> > > > > > :wq
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > 2006/7/4, Jorge Pereira <address@hidden>:
> > > > > >
> > > > > > >
> > > > > > > Pessoal,
> > > > > > >
> > > > > > > Existe alguma forma de eu saber em qual liha estou no shell?
> > tipo
> > > eu
> > > > > > tenho
> > > > > > > o
> > > > > > > exemplo.
> > > > > > >
> > > > > > > 1) a pessoa esta executando um script em determinado ponto da
> > sua
> > > > > janela
> > > > > > > do
> > > > > > > shell.
> > > > > > > 2) em uma determinada parte do script ele executa um "tput cup
> > 20
> > > 0;
> > > > > > echo
> > > > > > > 'Seu nome:'",
> > > > > > >     ele irá executar na linha 20, coluna 0 o comando echo "seu
> > > > nome",
> > > > > > > certo?
> > > > > > >     o que eu preciso e abstrair esta linha, pois se o cara
> > estiver
> > > > em
> > > > > um
> > > > > > > terminal que tenha 100
> > > > > > >     linhas, e ele execute no inicio da linha, o script vai
> > mandar
> > > > > > imprimir
> > > > > > > na 20, como no caso eu
> > > > > > >    quero que ele execute na linha current, este e o problema.
> > pois
> > > > > > > procurei
> > > > > > > e não achei uma forma
> > > > > > >    de obter a linha atual.
> > > > > > >
> > > > > > > Dai fica a duvida, alguem sabe como resolver esta bronca?
> > > > > > > --
> > > > > > > Regards,
> > > > > > > +
> > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> ---------------------------------------------------------------------------------+
> > > > > > > Jorge Pereira, From: Olinda/Pe/Brazil
> > > > > > > Home:  http://www.jorgepereira.com.br/
> > > > > > > E-mail:  address@hidden, address@hidden
> > > > > > > Mobile: +55 (81) 8833-2484
> > > > > > > My Public Key: http://www.jorgepereira.com.br/public.pgp
> > > > > > > +
> > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> ---------------------------------------------------------------------------------+
> > > > > > >     "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]
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > [ ]s,
> > > > > > Julio (http://www.julioneves.com) <http://www.julioneves.com%29><
> http://www.julioneves.com%29> <
> > http://www.julioneves.com%29> <
> > > http://www.julioneves.com%29> <
> > > > http://www.julioneves.com%29> <
> > > > > http://www.julioneves.com%29>
> > > > >
> > > > > > Participe do 4o CONISLI - Congresso Internacional de Software
> > Livre,
> > > > > dias
> > > > > > 7 a 11 de novembro - SESC Vila Mariana - SP
> > > > > > www.conisli.org
> > > > > >
> > > > > >
> > > > > > [As partes desta mensagem que não continham texto foram
> removidas]
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Regards,
> > > > > +
> > > > >
> > > > >
> > > >
> > >
> >
> ---------------------------------------------------------------------------------+
> > > > > Jorge Pereira, From: Olinda/Pe/Brazil
> > > > > Home:  http://www.jorgepereira.com.br/
> > > > > E-mail:  address@hidden, address@hidden
> > > > > Mobile: +55 (81) 8833-2484
> > > > > My Public Key: http://www.jorgepereira.com.br/public.pgp
> > > > > +
> > > > >
> > > > >
> > > >
> > >
> >
> ---------------------------------------------------------------------------------+
> > > > >     "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]
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > [ ]s,
> > > > Julio (http://www.julioneves.com) <http://www.julioneves.com%29> <
> http://www.julioneves.com%29> <
> > http://www.julioneves.com%29> <
> > > http://www.julioneves.com%29>
> > > > Participe do 4o CONISLI - Congresso Internacional de Software Livre,
> > > dias
> > > > 7 a 11 de novembro - SESC Vila Mariana - SP
> > > > www.conisli.org
> > > >
> > > >
> > > > [As partes desta mensagem que não continham texto foram removidas]
> > > >
> > > >
> > > >
> > >
> > >
> > >
> > > --
> > > Regards,
> > > +
> > >
> > >
> >
> ---------------------------------------------------------------------------------+
> > > Jorge Pereira, From: Olinda/Pe/Brazil
> > > Home:  http://www.jorgepereira.com.br/
> > > E-mail:  address@hidden, address@hidden
> > > Mobile: +55 (81) 8833-2484
> > > My Public Key: http://www.jorgepereira.com.br/public.pgp
> > > +
> > >
> > >
> >
> ---------------------------------------------------------------------------------+
> > >     "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]
> > >
> > >
> > >
> >
> >
> >
> > --
> > [ ]s,
> > Julio (http://www.julioneves.com) <http://www.julioneves.com%29> <
> http://www.julioneves.com%29>
> > Participe do 4o CONISLI - Congresso Internacional de Software Livre,
> dias
> > 7 a 11 de novembro - SESC Vila Mariana - SP
> > www.conisli.org
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
>
>
> --
> Regards,
> +
>
> ---------------------------------------------------------------------------------+
> Jorge Pereira, From: Olinda/Pe/Brazil
> Home:  http://www.jorgepereira.com.br/
> E-mail:  address@hidden, address@hidden
> Mobile: +55 (81) 8833-2484
> My Public Key: http://www.jorgepereira.com.br/public.pgp
> +
>
> ---------------------------------------------------------------------------------+
>     "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]
>
> 
>



-- 
[ ]s,
Julio (http://www.julioneves.com)
Participe do 4o CONISLI - Congresso Internacional de Software Livre, dias
7 a 11 de novembro - SESC Vila Mariana - SP
www.conisli.org


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



reply via email to

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