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

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

Re: [shell-script] escape egrep


From: Ronaldo Ferreira de Lima
Subject: Re: [shell-script] escape egrep
Date: Fri, 12 Dec 2014 22:19:53 -0200
User-agent: mutt-ng/devel-r804 (Linux)

Saudações Petterson,

On Fri, Dec 12, 2014 at 08:55:17PM -0200, Petterson Faria address@hidden 
[shell-script] wrote:
> Eu estou usando um script para procurar num arquivo uma linha que case com
> '^(.|..) '0406020086
> *Sendo *
> *0406020086 uma variavel que eu passo por parametro
> 
> Manual funciona, no script tentei com:
> echo "$linha" | egrep "'^(.|..|...|....) '${codigo}" > /dev/null
> *
> Preciso usar algum scape especial?
> *No script nao retorna, tentei depurar com bash -x mas ainda nao consegui 
> achar
> o porque
Direto ao ponto: remova as aspas.

O problema  aí é o  uso das aspas junto  com apóstrofos. No  exemplo sem
variável, você  usou apenas  apóstrofos. Já  exemplo com  variável, você
colocou  tudo entre  aspas e  os apóstrofos  passaram a  fazer parte  da
regexp.

>
> Alguma dica?*
Você pode testar essas coisas com o 'echo' na frente do comando para ver
o que o shell vai tentar executar:

    $ echo egrep "'^(.|..|...|....) '${codigo}"

Outra coisa,  se você não precisa  da saída do 'egrep',  utilize a opção
'-q, --quiet, --silent' (para scripts prefiro as opções longas, são mais
legíveis).
    
> --
> Atenciosamente,
> Petterson Faria ( https://db.tt/QJ5HbzWO )
> 
>   "Há momentos em que a maior sabedoria, é parecer não saber nada" (Sun Tzu)

[]'s
-- 
"Não manejo bem as palavras
Mas manipulo bem as strings."
------------------------------
http://tecnoveneno.blogspot.com


reply via email to

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