Pelo que entendi, somente substituir address1 por address2 não seria
suficiente, né? Digo, não se sabe quais arquivos contêm um ou outro, e é
possível que um mesmo arquivo contenha as duas ocorrências, seria isso?

Então (não sei fazer, fico só no conceito da ideia), acho que teria que
procurar uma ocorrência do segundo DESDE que precedida pela ocorrência do
primeiro, ou seja, somente substituir address1 caso ele seja precedido, na
linha anterior, por address2.

Assim sendo, o sed precisaria de uma expressão regular extendida da forma:

('regex contendo address2')'blah'(?<='regex contendo address1')

ou seja, só seria casado o segundo parentese caso existisse o primeiro.

As questões seriam:

   1. Como fazer isso considerando ocorrencias em multiplas linhas?
   2. O que colocar no lugar de 'blah'?
   3. Como construir as regexes de forma que casem tudo e somente aquilo que
   precisam?
   4. Que opções do sed deveriam ser usadas para que esse tipo de regex
   (extendida?) funcione?

Espero ter ajudado mais do que complicado, também tou aprendendo...

Helton



2010/6/9 MrBiTs <mrbits....@gmail.com>

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
>
> On 06/09/2010 04:37 PM, Eri Ramos Bastos wrote:
> > <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>
>
> Sei lá... uma rapidinha suja:
>
> $ cat eri.txt
> <xsl:variable name="address1">
> <xsl:value-of select="statementheader/address1"/>
> </xsl:variable>
>
> <xsl:variable name="address2">
> <xsl:value-of select="statementheader/address1"/>
> </xsl:variable>
>
> $ sed -e '/address2/,$s/address1/address2/' eri.txt
> <xsl:variable name="address1">
> <xsl:value-of select="statementheader/address1"/>
> </xsl:variable>
>
> <xsl:variable name="address2">
> <xsl:value-of select="statementheader/address2"/>
> </xsl:variable>
>
> Resolve ?
>
> - --
>
> Um abraço
>
> .0. MrBiTs - mrbits....@gmail.com
> ..0 GnuPG  -
> http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x6EC818FC2B3CA5AB
> 000 http://www.mrbits.com.br
>
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.10 (GNU/Linux)
>
> iQEcBAEBCAAGBQJMD/CiAAoJEG7IGPwrPKWrchIH/2q9qH2xp6s5QqaE2Dq1XcR5
> MSBS2gIIkBooQBdUkd6B5hSINNb8dQeDHRssIZLChs8mwbTbJbOKWlCAfKy4Znwo
> N6CWFmTRPt64QCy0zmxbtRYCv8cFt4mHaQ8vlzJd9b1eE1z9cSwZf9u+bbpNawzu
> avc3Q8TZZvn3sz9iXif1wa8sj06SVxw48ln3gsNVRoUByrC7RbK8Z0YQabaB31AF
> 4bKfwEIzRarvVyzccwIObGlj8UpllH1oR1Ee0A4Lw9j/S2BZ2sI0I5RPq2iaNWAl
> w2/XNIMTbz2cSe3susiC8Dmg0J70jNBnId2AuifQjo1in4MzTWr3jY62ehFjCuo=
> =LtkV
> -----END PGP SIGNATURE-----
>
>
> ------------------------------------
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
> aviso.
> ---------------------------------------------------------------------
> Sair da lista: shell-script-unsubscr...@yahoogrupos.com.br
> ---------------------------------------------------------------------
> 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]

Responder a