Em 19/12/07, Herbert Faleiros <[EMAIL PROTECTED]> escreveu:
>
>
> On Dec 14, 2007 8:43 AM, "Flávio R. Lopes" <[EMAIL PROTECTED]>
> wrote:
> [cut]
> > Alguém conhece algum Script, ou outra forma de fazer essa conversão de
> > UMA CADEIA DE CARACTERES em NúMEROS ???
>
>
> Abaixo segue um exemplo (não tão simples) de como fazer isso com
> shell-script:
>
> para efetuar as substituições (ALFA => NUM) use este script:
>
> $ ./gambi
> Usage: ./gambi -[d|u] INPUT
> $ ./gambi -d teste
> 1904181904
> $ ./gambi -u 1904181904
> teste
>
> Exemplo:
>
> arquivo baseado no que descreveu no seu e-mail:
>
> $ cat arquivo
> CODIGO DESCRICAO VALOR
> abcd bla 1111
> bcde ble 2222
> cdef bli 3333
> defg blo 4444
> efgh blu 5555
>
> Para aplicar o script no arquivo acima:
>
> $ cat arquivo | head -1; for i in `cat arquivo | awk '{print $1}' |
> sed 1d`; do cat arquivo | sed 's/'$i'/'`./gambi -d $i`'/' | grep -E
> ^[0-9]; done
> CODIGO DESCRICAO VALOR
> 00010203 bla 1111
> 01020304 ble 2222
> 02030405 bli 3333
> 03040506 blo 4444
> 04050607 blu 5555
>
>
> O script (gambi) é este aqui (com certeza existem maneiras MUITO mais
> simples de se fazer isso, principalmente o processamento do arquivo,
> ou seja, a sequencia de comandoss citado acima):
>
> $ cat gambi
>
> #!/bin/sh
> #
> # Herbert Alexander Faleiros
> # <[EMAIL PROTECTED]>
> #
>
> ALFA=abcdefghijklmnopqrstuvwxyz
> NUM=`for i in $(seq -w 0 25); do echo -n $i; done`
>
> function _do() {
> INPUT=$1
> for i in `seq 0 $((${#INPUT}-1))`; do
> for j in `seq 0 ${#ALFA}`; do
> if [ "${INPUT:$i:1}" == "${ALFA:$j:1}" ]; then
> printf '%02d' $j
> fi
> done
> done
> echo
> }
>
> function _undo() {
> INPUT=$1
> for i in `seq 0 2 $((${#INPUT}-1))`; do
> orig=`echo ${INPUT:$i:2} | sed 's/0//g'`
> echo -n ${ALFA:$orig:1}
> done
> echo
> }
>
> function usage() {
> echo "Usage: $0 -[d|u] INPUT"
> exit 1
> }
>
> case $1 in
> -d)
> test $# != 2 && usage
> _do $2
> ;;
> -u)
> test $# != 2 && usage
> _undo $2
> ;;
> *)
> usage
> ;;
> esac
>
> Fica como exemplo em Shell Script.
>
> >
>
###############################################################################
./gambi
:D
--
Adote um pinguim, saiba como! Me mande um e-mail demonstrando interesse!
http://www.slackware.com
http://img365.imageshack.us/img365/8483/snapshot3ak6.png
U.L. : 450347
Fnord
--~--~---------~--~----~------------~-------~--~----~
GUS-BR - Grupo de Usuários de Slackware Brasil
http://www.slackwarebrasil.org/
http://groups.google.com/group/slack-users-br
-~----------~----~----~----~------~----~------~--~---