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

[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]



reply via email to

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