[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Obter palavra que está entre tags
From: |
Julio C. Neves |
Subject: |
Re: [shell-script] Obter palavra que está entre tags |
Date: |
Sun, 1 Jul 2012 11:02:54 -0300 |
Fala Miguel,
estás sumido da lista... Como estão as coisas aí na Europa? Estão pretas,
não é? Mas vão melhorar, com certeza.
Veja se isso funciona:
$ sed -r 's/.*teste_([[:alnum:]]+)_.*/\1/' <<< teste_cavalo_carro
cavalo
Nesse sed os parênteses guardam o *texto* que casa com a ER que está no seu
interior, ou seja, uma lista ([...]) formada por diversas (+) letras
maiúsculas, minúsculas ou números ([:alnum:]) e na saída lista somente o
texto casado (\1).
O texto guardado está entre teste_ e _.
Uma forma um pouco mais simples seria:
$ sed -r 's/.*teste_(.*)_.*/\1/' <<< teste_cavalo_carro
Porém isso produziria um resultado errado no caso do texto conter mais de 1
sublinha (_) após cavalo.
$ sed -r 's/.*teste_(.*)_.*/\1/' <<< teste_cavalo_carro_boi
cavalo_carro
Abcs,
Julio
*
*
Em 1 de julho de 2012 10:34, Alysson Gonçalves de Azevedo <
address@hidden> escreveu:
> Nos mostre ai suas tentativas, talvez seja apenas algum detalhe que esteja
> te impedindo.
> Será mais fácil dar dicas com base em seus testes.
>
> Eu não estou num linux no momento, mas imagino que o sed ficaria como:
> sed 's/$FILTRO_(.*)_/&1/g'
> Você terá que fazer algumas correções ai, mas imagino que seja mais ou
> menos isso.
> Corrija-me caso necessário ^^
>
>
> Alysson Gonçalves de Azevedo
> (11) 8491-7730
>
>
>
>
> Em 30 de junho de 2012 20:20, miguelcm86 <address@hidden>
> escreveu:
>
> > **
> >
> >
> > Boas
> >
> > Estou a receber numa variável uma string ex: "teste" que faz parte de um
> > nome de uma pasta e quero obter a palavra seguinte delimitada por _
> >
> > ex:
> > /teste_cavalo_carro/
> >
> > recebo no meu script numa variável a palavra teste e quero obter a
> palavra
> > cavalo.
> >
> > portanto está delimitada por teste_ e _.
> >
> > ando a tentar usar o sed e não consigo, quero ter no output:
> >
> > cavalo
> >
> > Obrigado
> > Cumprimentos
> >
> >
> >
>
>
> [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: address@hidden
> ---------------------------------------------------------------------
> 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
>
>
>
[As partes desta mensagem que não continham texto foram removidas]