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: miranda
Subject: Re: [shell-script] expressão regular
Date: Wed, 24 Apr 2013 14:30:45 -0300

Pessoal , vejam se essa abordagem tem futuro
Estou conseguindo a saida sem os comentarios mas perdendo a formatação
tb
Sugestoes ?  Talvez alterando IFS ? Estou obtendo uma string ( Palavra )
por linha

Imprime="S"
for Palavra in $(cat web.xml)
do
  [ "$Palavra" = \<\!-- ] && Imprime="N"
  [ "${Palavra:$((${#Palavra} - 3))}" = --\> ] && Imprime="S" &&
continue
  [ $Imprime = "S" ] && echo $Palavra
done




On Wed, 2013-04-24 at 12:39 -0300, Tiago Peczenyj wrote:

> 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.
> >
> > abrao,
> > Roberto
> >
> > Em 24 de abril de 2013 11:32, Tiago Peczenyj <address@hidden
> > >escreveu:
> >
> >
> > > Ola
> > >
> > > No faa isso usando expresses 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 no como xml, ou seja, uma arvore.
> > >
> > > vc at pode procurar fazendo algo como
> > >
> > > /<!--/, /-->/{ comandos }
> > >
> > > porm 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 comentrios que so
> > > > delimitados por "<!--" e termina com "-->" eles podem esta na mesma
> > > linha
> > > > ou no 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 comentrio por nada depois
> > > voltei
> > > > com o quebra de linha.
> > > >
> > > > Isso quase que funcionou porm ele comeou substituir na inicio do
> > > > primeiro comentrio e terminou no final do ultimo comentrio e tudo que
> > > > estava no meio foi embora :-(
> > > >
> > > > Como eu fao para a expresso ".*" parar quando chegar em "-->" ?
> > > >
> > > > Ou se teria uma forma mais elegante de fazer isso.
> > > >
> > > > Desde j agradeo a ateno de todos.
> > > >
> > > > [As partes desta mensagem que no continham texto foram removidas]
> > > >
> > > >
> > > >
> > >
> > >
> > >
> > > --
> > > Tiago B. Peczenyj
> > > Linux User #405772
> > >
> > > http://about.me/peczenyj
> > >
> > >
> > > [As partes desta mensagem que no continham texto foram removidas]
> > >
> > >
> > >
> > > ------------------------------------
> >
> > >
> > > ----------------------------------------------------------
> > > Esta lista no admite a abordagem de outras liguagens de programao,
> > como
> > > perl, C etc. Quem insistir em no seguir esta regra ser moderado sem
> > > prvio 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 no continham texto foram removidas]
> >
> >  
> >
> 
> 
> 
> -- 
> Tiago B. Peczenyj
> Linux User #405772
> 
> http://about.me/peczenyj
> 
> 
> [As partes desta mensagem que no continham texto foram removidas]
> 
> 
> 
> ------------------------------------
> 
> ---------------------------------------------------------------------
> Esta lista no admite a abordagem de outras liguagens de programao, como perl, 
> C etc. Quem insistir em no seguir esta regra ser moderado sem prvio 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]