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

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

RE: Re: Re: [shell-script] expressao regular


From: Marcio Gil
Subject: RE: Re: Re: [shell-script] expressao regular
Date: Thu, 29 Apr 2010 15:41:34 -0300

Tenta assim:

echo "/nobr" | sed -e 's/.nobr//g'

Em expressões regulares "." é que quer dizer qualquer caracter.

Mas você também escrever:

echo "/nobr" | sed -e 's/.\?nobr//g'

E funcionará também assim:

echo "nobr" | sed -e 's/.\?nobr//g'

Que quer dizer: substitua "qualquer caracter" (zero ou um) seguido
de "nobr" por nada.

No sed, "?" puro é a interrogação literal. Quando com escape quer
dizer zero ou um do caracter precedente.

> -----Original Message-----
> From: address@hidden
> Subject: Re: Re: Re: [shell-script] expressao regular
> 
>  
>  Bem, realmente o uso de aspas e a diferença do grep versus egrep
> (ou grep -E) fez a diferença.
>  Porém no sed, não estou conseguindo encontrar o erro:
>  echo "/nobr" | sed -e 's/?nobr//g'
>  /nobr
>  echo "/nobr" | sed -e 's/"?nobr"//g'
>  /nobr
>  echo "/nobr" | sed -e "s/?nobr//g"
>  /nobr
>  e por ai vai. o que está errado?
>  obrigado!
>  eric
>  On Qua 28/04/10 13:29 , Marcelo Andrade address@hidden sent:
>       2010/4/28 Thiago Diniz da Silveira :
>  > O "?" pode ser qualquer caracter.
>  >
>  > Nesse caso ele ira dar um grep em todo que comece com "fe"
tenha
> um caracter
>  > no meio e termine com "d"
>  > o caracter pode ser um espaço também senão me engano.
>  Isso no shell, que no caso interpreta o ? como um metacaracter.
>  Em expressões regulares, o significado é o que o Eric falou.
>  Por isso que é bom sempre deixar a expressão regular entre
>  aspas, que nem a sugestão do Ernander.
>  Eu prefiro aspas simples... mas é outra história. :-)
>  Atts.
>  -- 
>  MARCELO F ANDRADE
>  Belem, Amazonia, Brazil
>  "I took the red pill"
>     
> 



reply via email to

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