shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] substituição condicional - one liner


From: Eri Ramos Bastos
Subject: Re: [shell-script] substituição condicional - one liner
Date: Wed, 9 Jun 2010 20:57:11 -0300

Há! Perfeito! Era isso mesmo que eu tinha em mente quando disse que
alguém mais esperto resolveria com um one-liner.

Um background rápido, just for fun:

Tivemos um problema parecido com esse uns meses atrás, onde um cliente
identificou que certos arquivos XML de anos atrás continham UMA LINHA
que não deveria estar lá. O problema foi parar na mão do time de
desenvolvimento, que fez um script ruby gigantesco que exigia diversos
módulos (acho que se chamam gems na lingua ruby) de tratamento XML e o
escambau.

Foram vários dias desenvolvendo e documentando e depois mandaram pro
meu time implementar o fix. No final eu ainda tive que escrever um
wrapper em shell pro script deles porque o maldito só tratava de um
arquivo por vez.

Dessa vez foi alguém interno que identificou esse problema parecido,
mas sabe-se lá porquê vieram perguntar pra mim se eu conseguia
resolver ao invés de mandar pro desenvolvimento. Lógico que eu
conseguiria, talvez com menos de 10 linhas, mas não ia dar um "fator
UAU" tão animal quanto esse one-liner vai dar. Mesmo depois de eu
colocar ele dentro de um for loop ainda vai ser um one-liner.

Cá entre nós... Shell script não é lindo? :)

Valeu, MrBITS.


[]'s
Eri Ramos Bastos

On Wed, Jun 9, 2010 at 4:50 PM, MrBiTs <address@hidden> wrote:
> -----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 - address@hidden
> ..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: address@hidden
> ---------------------------------------------------------------------
> 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
>
>
>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]