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: Petterson Faria
Subject: Re: [shell-script] escape egrep
Date: Fri, 12 Dec 2014 22:16:11 -0200

na pressa de ver a criatura funcionando acabei adaptando e mudei para:

`echo "${linha}" | grep -c ${codigo}`
Tb funcionou para o que eu queria :)

Eu estava fazendo um script para ajudar a auditar procedimentos de um Hospital que atende pelo SUS
Ai esse arquivo vem em PDF do sistema do DATASUS, eu usei o pdftohtml para converter para html
depois fazia um sed para limpar as tags
e depois fiz um while para varrer ate encontrar o AIH que eh o numero do formulario do atendimento do paciente, depois disso ele continua procurando ate encontrar o numero de procedimento procurado ou se achar novo AIH
Acredito que cabe uma refatoração, mas resolveu para o que precisava
Se alguem quiser refatorar, estou aberto a sugestoes.
Fica aqui minha contribuição.

Script que converte: http://pastebin.com/6hrMSzqP
Script que procura: http://pastebin.com/EPkTDs56


--
Atenciosamente,
Petterson Faria ( https://db.tt/QJ5HbzWO )
"Há momentos em que a maior sabedoria, é parecer não saber nada" (Sun Tzu)

2014-12-12 22:06 GMT-02:00 Rodrigo Tenorio address@hidden [shell-script] <address@hidden>:
 

Tenho uma dica que talvez ajude e talvez não sirva para nada.
Monte a linha de er inteira numa variável e passe a variável com a er para um sed. Ao menos nele eu tenho certeza que você terá que escapar as coisas...

Bom. Mas se você está comparando linhas, não um conjunto de linhas com uma máscara de er, você também pode usar substring para fatiar a linha de entrada e comparar com o que você quer num if simples...

Esse fds estou sem pc, masse ninguém puder te ajudar com código real, eu dou um jeito.

Rodrigo Boechat

Em 12/12/2014 20:55, "Petterson Faria address@hidden [shell-script]" <address@hidden> escreveu:

 

Eu estou usando um script para procurar num arquivo uma linha que case com '^(.|..)&#160;'0406020086

​Sendo ​
​0406020086 uma variavel que eu passo por parametro

Manual funciona, no script tentei com:
echo "$linha" | egrep "'^(.|..|...|....)&#160;'${codigo}" > /dev/null

Preciso usar algum scape especial?
​No script nao retorna, tentei depurar com bash -x mas ainda nao consegui achar o porque

Alguma dica?​


--
Atenciosamente,
Petterson Faria ( https://db.tt/QJ5HbzWO )
"Há momentos em que a maior sabedoria, é parecer não saber nada" (Sun Tzu)


reply via email to

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