_______________________________________________________________________________

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, [EMAIL PROTECTED] 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: [EMAIL PROTECTED]
> ---------------------------------------------------------------------
> 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
> 
_______________________________________________________________________________

Responder a