[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