[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Re: Validação CPF/CNPJ em shell-script
From: |
Valtoir |
Subject: |
Re: [shell-script] Re: Validação CPF/CNPJ em shell-script |
Date: |
Mon, 4 Aug 2003 10:58:31 -0300 |
Consegui melhorar um pouco o código. Troquei o nome da variáveil "x" (agora
"fator") prá tornar mais o código mais inteligível, eliminei a variável "y"
(menos cálculo) e de quebra emagreci o script em uma linha. Ficou bem mais
simples dessa maneira:
--------------- 8< corte aqui 8< --------------
#!/bin/bash
## shell script em bash2 para validação de CIC
### escrito por Valtoir S. Jardim e << melhore o código, coloque seu nome
aqui e me envie uma cópia>> ;-)
#### address@hidden
##### feito em 2003-08-01, atualizado em 2003-08-04
for digpos in 10 11; do
matriz=(`seq $digpos 2`)
dig=0
pos=1
for fator in ${matriz[*]}; do
let dig=$dig+`echo $1 | cut -c$pos`*$fator
let pos=$pos+1
done
dig=`echo 11-$dig%11 | bc`
if [ $dig -ge 10 ]; then
dig=0
fi
if [ $dig -ne `echo $1 | cut -c$digpos` ]; then
echo -e "\nCIC inválido\n"
exit
fi
done
echo -e "\nCIC válido\n"
--------------- >8 --corte aqui -- >8--------------
Essas alterações também vão facilitar a adaptação do código para a checagem
de cnpj. Depois do rango vou dar um jeito nisso.
Alguém sabe se dá para melhorar a linha "let pos=$pos+1"?
T+
Valtoir