[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: substituição condicional - one liner
From: |
Sérgio |
Subject: |
Re: substituição condicional - one liner |
Date: |
Sat, 12 Jun 2010 16:53:51 -0000 |
User-agent: |
eGroups-EW/0.82 |
busquei em minhas anotações pessoaias, não pude testar porque estou em um ciber
usando o rwindows, mas acho que vai funcionar.
comando para substituir na linha subsequente a um padrão
sed -i.backup '/<xsl:variable name="address2">/{n;s,address1,address2,g}' file
--- Em address@hidden, Eri Ramos Bastos <bastos.eri@...> escreveu
>
> Olá, Lista.
>
> Tenho algumas centenas de arquivos que contém o seguinte:
>
> <xsl:variable name="address1">
> <xsl:value-of select="statementheader/address1"/>
> </xsl:variable>
>
> E alguns deles contém também:
>
> <xsl:variable name="address2">
> <xsl:value-of select="statementheader/address1"/>
> </xsl:variable>
>
> Percebam que a segunda linha do segundo bloco contem um error. Deveria
> ser address2 e não address1.
> É razoavelmente fácil corrigir com um teste ou dois usando grep -B,
> por exemplo. Mas eu tenho quase certeza que alguém mais esperto que eu
> consegue pensar em um one-liner pra corrigir isso.
>
> Basicamente a condição é que se existir a linha:
>
> <xsl:variable name="address2">
>
> Então substituir na linha imediatamente abaixo address1 por address2.
>
> Dicas?
>
> []'s
> Eri Ramos Bastos
>