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: Roberto Alves
Subject: Re: [shell-script] expressão regular
Date: Wed, 24 Apr 2013 12:31:40 -0300

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]



reply via email to

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