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: [email protected] > 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 [email protected] 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" > >
