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

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

Re: [shell-script] selecionar substring


From: Julio C. Neves
Subject: Re: [shell-script] selecionar substring
Date: Thu, 5 Oct 2006 11:33:17 -0300

Fala Sérgio,
será que vc não reparou que houve uma quebra de linha gerada pelo meu
cliente e-mail? Veja só o passo-a-passo:

Prompt> PING='ping teste.com (69.36.226.134): 56 data bytes'
Prompt> echo $PING
ping teste.com (69.36.226.134): 56 data bytes
Prompt> P1=`echo ${PING#*(}`
Prompt> echo $P1
69.36.226.134): 56 data bytes
Prompt> echo ${P1%)*}
69.36.226.134

Agora a linha toda sem nenhuma quebra:

Prompt> PING='PING teste.com (69.36.226.134): 56 data bytes'; P1=`echo
${PING#*(}`; echo ${P1%)*}
69.36.226.134

Abração,
Julio
:wq


2006/10/4, Sergio Nery Simoes <address@hidden>:
>
> Olá Mestre Julio,
>
> no meu sistema, o resultado usando shell puro não bateu conforme esperado:
> ----
> $ PING='ping teste.com (69.36.226.134): 56 data bytes'; P1=`echo
> ${PING#*(}`; echo ${P1%)*}
> ping teste.com (69.36.226.134
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> Este foi o Resultado...
> ----
> Ou seja ele não filtrou o conteúdo antes do parênteses. Seria alguma
> variável de ambiente?
>
> []s
> Sergio.
>
>
>
> 2006/10/3, Julio C. Neves <address@hidden>:
> >
> > Epa quero pegar uma carona na resposta do Sergio
> >
> > 2006/10/2, Sergio Nery Simoes <address@hidden>:
> > >
> > > Olá Alfredo,
> > > aproveitando o seu comentário, gostaria de alertar que nem sempre
> > solução
> > > bonita é sinônimo de desempenho.
> > > Algumas vezes, executar comandos muito poderosos e processar
> expressões
> > > regulares complexas ao invés de uma solução mais simples ("as
> > lusitanas")
> > > pode acabar onerando mais o processador.
> > > Claro que isso depende da implementação do comando em cada sistema
> (como
> > é
> > > o
> > > caso do fgrep no linux, que teoricamente deveria ser mais rápido mas
> na
> > > verdade é um script que chama o grep e por isso acaba sendo mais lento
> > que
> > > o
> > > próprio grep).
> > >
> >
> > No meu conceito isso é o maior furo dos utilitários GNU. fgrep significa
> > "fast grep" ou grep rápido e foi desenvolvido para não se preocupar em
> > resolver ERs, mas ser o mais veloz possível. E como o Sérgio acabou de
> > dizer, isso no GNU grep não é verdade. Por ser um script (escrito em
> > Shell)
> > que chama o grep, ele torna-se mais lento. Em tempo o egrep tb é um
> script
> > que chama o grep. Verifiquem!
> >
> > Por outro lado, devo concordar que as soluções simples nem sempre são
> > > elegantes, parecendo até mesmo lusitanas, quando não conhecemos o
> > > funcionamento delas no quesito desempenho. Alem disso, há construções
> > > complexas que necessitam de expressões complexas, neste caso não tem
> > jeito
> > > tornarmos a solução simples.
> > > O ideal é buscar desempenho sempre que possível.
> > >
> >
> > Concordo com a preleção, mas o problema é que só podemos ter certeza
> após
> > testes para mensurar o tempo de execução e se alguém for fazer este
> teste,
> > peço que teste tb algo em Shell puro que, teoricamente, deveria ser mais
> > veloz.
> >
> > $ PING='PING teste.com (69.36.226.134): 56 data bytes'
> > $ P1=`echo ${PING#*(}`
> > $ echo ${P1%)*}
> > 69.36.226.134
> >
> > ou, para facilitar o cópia e cola:
> >
> > $ PING='PING teste.com (69.36.226.134): 56 data bytes'; P1=`echo
>   ${PING#*(}`; echo ${P1%)*}
> >
>


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



reply via email to

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