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 shell-script@yahoogrupos.com.br, 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
>


Responder a