[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.