[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Ajuda com regex e laço
From: |
Cristiano |
Subject: |
Ajuda com regex e laço |
Date: |
Mon, 15 Feb 2010 18:09:26 -0000 |
User-agent: |
eGroups-EW/0.82 |
Salve ilustres, boa tarde.
Estou montando um script para extrair dados de um arquivo XML (nota fiscal
eletronica).
Dentro do XML há um campo 'cProd'. Preciso do conteúdo dele, porém, podem haver
inúmeros registros cProd (mínimo de 1). Exemplo:
(...)
<cProd>001</cProd>
<xProd>Nome do produto</xProd>
<cProd>002</cProd>
<xProd>Nome do outro produto</xProd>
(...)
<cProd>NNN</cProd>
<xProd>Nome do produto NNN</xProd>
(...)
A extrutura do arquivo não está organizada hierarquicamente linha por linha
como no exemplo. É tudo uma única linha.
Usei a seguinte regex:
grep -Eo '<cProd>.*<\/cProd>'
O problema é que esta regex casa com todo o conteúdo da primeira tag <cProd>
até a última tag </cProd>, retornando do código do primeiro produto e até o
último (NNN).
Tenho 2 dúvidas:
1) O que posso colocar no lugar do '.*' para fazer ele pegar apenas o primeiro
campo "cProd", parando na primeira tag </cProd> que encontrar?
2) Uando esta regex, como posso criar um laço para extrair todos os campos
cProd do arquivo (pode vir com as tags junto, que eu me viro em removê-las)?
Algo que me dê o seguinte resultado:
# extrai_codigo.sh nome_do_arquivo.xml
nome_do_arquivo.xml:501
nome_do_arquivo.xml:502
nome_do_arquivo.xml:503
Minha necessidade é pegar um diretório com N (leia-se trocentos) arquivos XML e
saber quais os códigos de produto em cada um deles.
Abraço
Cristiano
- Ajuda com regex e laço,
Cristiano <=
- Re: [shell-script] Ajuda com regex e laço, Fabiano Caixeta Duarte, 2010/02/15
- Re: Ajuda com regex e laço, Cristiano, 2010/02/15
- Re: [shell-script] Re: Ajuda com regex e laço, Julio C. Neves, 2010/02/15
- Re: Ajuda com regex e laço, Cristiano, 2010/02/15
- Re: [shell-script] Re: Ajuda com regex e laço, Julio C. Neves, 2010/02/15
- Re: Ajuda com regex e laço, Cristiano, 2010/02/15
- Re: [shell-script] Re: Ajuda com regex e laço, Julio C. Neves, 2010/02/15
- RE: [shell-script] Re: Ajuda com regex e laço, Marcio Gil, 2010/02/15
Re: Ajuda com regex e laço, Cristiano, 2010/02/15
Re: [shell-script] Ajuda com regex e laço, Julio C. Neves, 2010/02/15