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

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

Re: [shell-script] Re: oddwording


From: Thomaz de Oliveira dos Reis
Subject: Re: [shell-script] Re: oddwording
Date: Mon, 21 May 2007 19:30:58 -0300
User-agent: KMail/1.9.6

Fiz uma solução KISS :

read FRASE
IMPAR=0

for X in $FRASE
do
        if [ $IMPAR = 0 ] 
        then
                IMPAR=1
        else
                IMPAR=0 
                X=`echo $X | rev`
        fi
        echo -n "$X "
done

echo ""


qquer programador de delphi entende ;)

[]'s

On Monday 21 May 2007 19:22:08 Flavio Torres wrote:
> --- Em address@hidden, Flavio Torres
> <flaviotorres@...> escreveu
>
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA1
> >
> > Tiago Barcellos Peczenyj wrote:
> > > Tem corrido por aí uma brincadeira chamada oddwording (do inglês
> > > odd words, "palavras ímpares").
> > >
> > > A idéia é pegar uma frase, indexar as palavras a partir de zero e
> > > inverter as palavras de índice ímpar.
> > >
> > > Depois de matutar muito, percebi que este tipo de brincadeira pode
> > > exercitar muitos conceitos em shell, alem de possuir muitas
> > > possiveis respostas.
> > >
> > > Criei uma solução usando sed + algumas gambiarras, vou postar aqui
> > > mais tarde. Se alguem quiser bolar alguma forma em shell e postar
> > > (bem explicado aqui) é bem vindo.
>
> Pô, faltou o bem explicado:
>
> Bom, a minha idéia foi:
>
> - Expandir a frase digitada, trocando os espaços por quebra-linha, e
> numerando-as:
>    echo "$*" | tr ' ' '\n' | egrep -n '[0-9]*'
>
> - Com base nisto, eu corto tudo o que é :*, tendo apenas o número da
> linha, e comparo se é par ou ímpar (resto da divisão com o expr), se
> for ímpar, eu pego a frase e inverto, com o bom e velho rev, caso
> contrário eu armazeno a frase.
>
> - Imprimo o resultado.
>
>
>
> Claro que eu vi seu post no site, achei animal, este meu não chega em
> lugar algum :(
>
> Abraço.




reply via email to

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