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: Tiago Peczenyj
Subject: Re: [shell-script] expressão regular
Date: Wed, 24 Apr 2013 12:39:50 -0300

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]



reply via email to

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