[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Regexp - Extraindo XML
From: |
jimmy |
Subject: |
Re: [shell-script] Regexp - Extraindo XML |
Date: |
Mon, 1 Sep 2008 17:41:49 -0300 |
User-agent: |
Mutt/1.4.2.3i |
_______________________________________________________________________________
se a estrutura do arquivo for exatamente como mencionado, tente esse script
em sed:
--------------------------------------------------
#!/usr/bin/sed -f
H;
$!d;
x;
s/\n\+//g;
s/>[ \t]\+</></g;
h;
s/<raiz><folha>\(<nomefolha>[^<]*<\/nomefolha>\)<\/folha>.*/\1\n/;w folha1
g;
s/.*<\/folha><folha>\(<nomefolha>[^<]*<\/nomefolha>\)<\/folha><folha>.*/\1\n/;w
folha2
g;
s/.*<folha>\(<nomefolha>[^<]*<\/nomefolha>\)<\/folha><\/raiz>/\1\n/;w folha3
x;
d;
--------------------------------------------------
_______________________________________________________________________________
On Fri, Aug 29, 2008 at 04:34:40PM -0300, address@hidden wrote:
> Pessoal gostaria da ajuda de voces para um problema aparentemente simples que
> so consegui resolver via perl e gostaria de fazê-lo via bash, eu tenho um
> arquivo XML com a seguinte estrutura :
>
> <raiz>
> <folha>
> <nomefolha>folha1</nomefolha>
> </folha>
> <folha>
> <nomefolha>folha2</nomefolha>
> </folha>
> <folha>
> <nomefolha>folha2</nomefolha>
> </folha>
> </raiz>
>
> gostaria de transformar este arquivo em varios arquivos com onome folha1,
> folha2, folha3 contendo tudo que esta entre <folha> e </folha>, parece algo
> simples mas ja tentei e nao obtive soluçao facil usando as ferramentas
> tradicionais, apelei para o perl e usando as bibliotecas internas que lidam
> com xml consegui, porem eh mais complexo do que eu queria e ai nao consigo
> explicar a outra pessoa pra dar manutençao sem que a mesma conheça bastante
> de perl o que dificulta, se fosse bash puro com os sed e semelhantes seria
> facil de explicar e deixar isso para ser mantido por outra pessoa..
>
> abraços a todos
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
> ------------------------------------
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
> aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
>
> Links do Yahoo! Grupos
>
_______________________________________________________________________________
- Re: [shell-script] Regexp - Extraindo XML,
jimmy <=