[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Fwd: Re: [shell-script] expressão regular]
From: |
miranda |
Subject: |
[Fwd: Re: [shell-script] expressão regular] |
Date: |
Fri, 26 Apr 2013 09:50:30 -0300 |
-------- Forwarded Message --------
From: miranda <address@hidden>
To: address@hidden
Subject: Re: [shell-script] expressão regular
Date: Thu, 25 Apr 2013 10:11:39 -0300
Veja se isso funciona para seu arquivo.
No que usei de teste funcionou
inclusive com mais de um comentario por linha
awk -f comment.awk web.xml
[miranda@guitar ~]$ cat comment.awk
BEGIN{FLAG="1";}
$0 ~ /<!--/ {FLAG="0"};
FLAG=="0" {
IMP="1";
z=split($0,VET," ");
for (i=1;i <= z;i++){
if(VET[i] ~ /<!--/)
IMP="0";
if ( IMP == "1")
printf("%s ",VET[i]);
if(VET[i] ~ /-->/)
IMP="1";
};
}
$0 !~ /<!--/ && FLAG=="1" {print};
$0 ~ /-->/ {FLAG=1}
On Wed, 2013-04-24 at 07:24 -0700, Bruno Viana wrote:
>
>
>
> 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]
>
>
>
>
>
[As partes desta mensagem que não continham texto foram removidas]
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Fwd: Re: [shell-script] expressão regular],
miranda <=