[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Ajuda com regex e laço
From: |
Cristiano |
Subject: |
Re: Ajuda com regex e laço |
Date: |
Mon, 15 Feb 2010 18:49:00 -0000 |
User-agent: |
eGroups-EW/0.82 |
--- Em address@hidden, "Cristiano" <boxferrari@...> escreveu
>
> Salve ilustres, boa tarde.
>
> Estou montando um script para extrair dados de um arquivo XML (nota fiscal
> eletronica).
>
(...)
> 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.
UPDATE:
Consegui pegar apenas o conteúdo do primero campo, mas usando o sed.
Entretanto, ainda tenho interesse e melhorar a regex, a título de aprendizado.
Fiz assim:
http://pastebin.com/f5190fbf5
O problema do laço, ainda não sei como resolver.
E, mesmo esta solução com sed não está perfeita.
Não sei por que razão, não está retornando apenas o resultado do sed.
Veja o conteúdo do XML:
http://pastebin.com/f7252436a
Notem que todas as informações que me interessam (os campos cProd) estão todos
na primeira linha do arquivo. Porém, mesmo apesar do '-n', o conteúdo da 2.ª
linha em diante é exibido inteiro.
Veja o resultado:
http://pastebin.com/f8ada9bb
Notem que na linha em destaque o sed retornou o conteúdo correto do primeiro
campo cProd, mas também exibiu o conteúdo da linha 2 em diante.
Onde está a caca?
- Ajuda com regex e laço, Cristiano, 2010/02/15
- 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 <=
Re: [shell-script] Ajuda com regex e laço, Julio C. Neves, 2010/02/15
Re: Ajuda com regex e laço, Cristiano, 2010/02/16