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).
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. Gostaria que executasse os comandos abaixo no seu sistema e verificasse qual eh mais rápida... Por favor, faça o teste: ==== # forma elegante time for i in `seq 1 2000` do echo "PING teste.com (69.36.226.134): 56 data bytes" | sed -r 's/^.*\((([0-9]{1,3}\.){3}[0-9]{1,3}).*$/\1/' done > /dev/null #---- #forma lusitana time for i in `seq 1 2000` do echo "PING teste.com (69.36.226.134): 56 data bytes" | cut -d"(" -f2 | cut -d")" -f1 done > /dev/null ==== Sergio. +++++++++++++++++= 2006/10/2, Alfredo Casanova <[EMAIL PROTECTED]>: > > heheheh > jeito lusitano > > echo "PING teste.com (69.36.226.134): 56 data bytes" | cut -f2 -d\( | cut > -f1 -d\) > > > On 10/2/06, Humberto Pereira <[EMAIL PROTECTED]> > wrote: > > > > On Mon, 02 Oct 2006 18:37:12 -0300, Celso Viana <[EMAIL PROTECTED]> > > wrote: > > > 2006/10/2, Humberto Pereira <[EMAIL PROTECTED]>: > > > Humberto, > > > > > > Poderia traduzir o ... > > > sed -r 's/^.*\((([0-9]{1,3}\.){3}[0-9]{1,3}).*$/\1/' > > A expressao pega tudo entre () q tenha 1 a 3 numeros seguido de ponto 4 > > vezes. O q nao for igual a isso, ele ranca fora da string. > > > > > > > > o que faz a opção "-r" (sh/csh no FreeBSD não tenho essa oção) > > > > o -r eh p/ expressoes regulares extendidas. Com ele vc nao precisa > colocar > > escape (\) nos caracteres especiais, (){}.,etc. > > acredito q isso tenha apenas no sed GNU. > > > > Como vc nao tem o -r, remove ele do comando e coloca \ onde tiver () e > {} > > e onde tiver remove. > > > > [EMAIL PROTECTED] tmp]$ echo "PING teste.com (69.36.226.134): 56 data bytes" > | > > sed 's/^.*(\(\([0-9]\{1,3\}.\)\{3\}[0-9]\{1,3\}\).*$/\1/' > > 69.36.226.134 > > [EMAIL PROTECTED] tmp]$ > > > > > > []s > > Humberto Pereira > > -- > > Using Opera's revolutionary e-mail client: http://www.opera.com/mail/ > > > > > > --------------------------------------------------------------------- > > 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: [EMAIL PROTECTED] > > --------------------------------------------------------------------- > > Esta lista é moderada de acordo com o previsto em > > http://www.listas-discussao.cjb.net > > --------------------------------------------------------------------- > > Servidor Newsgroup da lista: news.gmane.org > > Grupo: gmane.org.user-groups.programming.shell.brazil > > > > > > Links do Yahoo! Grupos > > > > > > > > > > > > > > > > > > > -- > []'s > Alfredo Casanova > icq: 15793271 > msn: [EMAIL PROTECTED] > aim: alfredotcasanova > yim: atcasanova2 > tel: +55 61 84137319 > As aves têm na boca um dente chamado bico > > > [As partes desta mensagem que não continham texto foram removidas] > > > [As partes desta mensagem que não continham texto foram removidas] --------------------------------------------------------------------- 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: [EMAIL PROTECTED] --------------------------------------------------------------------- Esta lista é moderada de acordo com o previsto em http://www.listas-discussao.cjb.net --------------------------------------------------------------------- Servidor Newsgroup da lista: news.gmane.org Grupo: gmane.org.user-groups.programming.shell.brazil 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: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html