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 [email protected], Eri Ramos Bastos <bastos....@...>
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
>