shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] expressão regular


From: Bruno Viana
Subject: Re: [shell-script] expressão regular
Date: Thu, 25 Apr 2013 06:55:03 -0700 (PDT)

Tiago,

A sua sugestão foi boa inclusive seus argumentos porem não queria ter que 
instalar eles nesse momento para resolver o problema mas não descartei ainda.

Com relação a expressão não rolou não veja a situação:


bash$ cat teste.xml
comeco do arquivo

<!-- cometario
de 
bloco 1
-->

linha valida 1

    <!-- comentario linha 1 -->

linha valida 2


<!-- cometario
de 
bloco 2
-->

linha valida 3

fim do arquivo

bash$ cat  teste.xml | sed '/<!--/,/-->/d'

comeco do arquivo


linha valida 1


linha valida 3

fim do arquivo

Ou seja o comentário que fica na mesma linha não rola ele pega o inicio do 
comentário mas só fecha no final do comentário de bloco.


 


________________________________
 De: Tiago Peczenyj <address@hidden>
Para: address@hidden 
Enviadas: Quarta-feira, 24 de Abril de 2013 12:39
Assunto: Re: [shell-script] expressão regular
 

o problema é que vc pode ter

<!-- opa --> <xxx> <!-- outro opa -->

vc precisa ter certeza que tem um comentario por linha


2013/4/24 Roberto Alves <address@hidden>

> **
>
>
> Eu faria um grep no arquivo, pegando só as linhas que tenham <!- e depois
> substituiria essa string por nada.
>
> abraço,
> Roberto
>
> Em 24 de abril de 2013 11:32, Tiago Peczenyj <address@hidden
> >escreveu:
>
>
> > Ola
> >
> > Não faça isso usando expressões regulares a menos que vc tenha certeza
> que
> > os comentarios seguem algum tipo de regularidade.
> >
> > Apesar de ser plenamente possivel, vc esta ignorando o formado do
> arquivo,
> > tratando como texto e não como xml, ou seja, uma arvore.
> >
> > vc até pode procurar fazendo algo como
> >
> > /<!--/, /-->/{ comandos }
> >
> > porém vc pode ter surpresas.
> >
> > minha dica: use programas que processem xml como o tidy
> >
> > bash$ tidy -quiet -asxml -xml -indent -wrap 1024 --hide-comments 1
> > arquivo.xml > novo_arquivo.xml
> >
> > ou xmlstarlet
> >
> > bash$ xmlstarlet c14n --without-comments old.xml > new.xml
> >
> >
> >
> >
> >
> > 2013/4/24 Bruno Viana <address@hidden>
> >
> > > **
>
> > >
> > >
> > >
> > >
> > > Pessoal,
> > >
> > > Estou com o seguinte problema:
> > >
> > > Tenho um arquivo xml e estou querendo tirar os comentários que são
> > > delimitados por "<!--" e termina com "-->" eles podem esta na mesma
> > linha
> > > ou não ai fiz o seguinte:
> > >
> > > $ cat arquivo.xml | tr '\n' '|' | sed 's#<!--.*-->##' | tr '|' '\n'
> > >
> > > Primeiro substituir as quebras de linhas por "|" para ficar tudo na
> mesma
> > > linha depois usei o sed para substituir o comentário por nada depois
> > voltei
> > > com o quebra de linha.
> > >
> > > Isso quase que funcionou porém ele começou substituir na inicio do
> > > primeiro comentário e terminou no final do ultimo comentário e tudo que
> > > estava no meio foi embora :-(
> > >
> > > Como eu faço para a expressão ".*" parar quando chegar em "-->" ?
> > >
> > > Ou se teria uma forma mais elegante de fazer isso.
> > >
> > > Desde já agradeço a atenção de todos.
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> >
> >
> >
> > --
> > Tiago B. Peczenyj
> > Linux User #405772
> >
> > http://about.me/peczenyj
> >
> >
> > [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
>
> >
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Tiago B. Peczenyj
Linux User #405772

http://about.me/peczenyj


[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

[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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