[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Troca de letras
From: |
Gentil de Bortoli Jr |
Subject: |
Re: [shell-script] Troca de letras |
Date: |
Tue, 03 Jan 2006 10:56:05 -0200 |
User-agent: |
Thunderbird 1.5 (X11/20051201) |
Roger Martins wrote:
Digite aqui um nome: ROGER
Depois de digitado ele me voltasse assim:
Enigma: QNFDQ
Roger, o MrBits, Júlio e Humberto já deram idéias.
Aqui vai mais uma, que é mais complicada, mas que pode servir como
exercício também. Bom, OK. Na verdade o fato é que eu não enxerguei as
soluçòes mais simples antes. :)
Divirta-se.
----------------------8<----------------------
$ cat enigma.sh
#!/bin/bash
if [ ${#} -lt 2 ]; then
echo "Uso: ${0} <String> <+>|<->"
exit 1
fi
STRING=$(echo ${1} | sed 's/\(.\)/\1 /g')
for i in `seq 65 90`; do
LETRA[${i}]=$(echo $i | awk '{printf(" %c", $1)}')
done
for letra in ${STRING}; do
ORD=$(echo ${letra} | od -A n -t uC | tr -s " " | cut -d " " -f 2)
echo -n ${LETRA[$((${ORD}${2}1))]}
done
echo
---------------------->8----------------------
$ ./enigma.sh ROGER -
QNFDQ
$ ./enigma.sh QNFDQ +
ROGER
[]s
--
Gentil de Bortoli Júnior
http://gentil.bortoli.com.br
KeyID: 0x8383E070 - www.keyserver.net
"There Is No Gene For The Human Spirit"