[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Validação CPF/CNPJ em shell-script
From: |
Valtoir |
Subject: |
Re: [shell-script] Validação CPF/CNPJ em shell-script |
Date: |
Fri, 1 Aug 2003 18:25:48 -0300 |
Buenas, taí um negócio legal.... o script abaixo faz parte do que vc pediu.
Recebe como parâmetro um número de cic, avalia e retorna uma mensagem de
texto indicando se o nº é válido ou não. Só precisa algumas adaptações para
checar cnpj, mais algumas validações (não está checando a quantidade de
caracteres, nem se são números ou não, aliás nem está checando se recebe
parâmetro). Tentei transformá-lo numa função, mas não tenho muita
experiência em funções, passagem de parâmetros, leitura de retorno, etc...
Comentários, correções e melhorias no código (e elogios :) são bem vindos.
Bom findi, pessoal
Valtoir
--------------- 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-01
for digpos in 10 11; do
if [ $digpos == 10 ]; then
matriz=(10 9 8 7 6 5 4 3 2)
else
matriz=(11 10 9 8 7 6 5 4 3 2)
fi
y=matriz[1]
dig=0
for x in ${matriz[*]}; do
let pos=$x-$y
let dig=$dig+`echo $1 | cut -c$pos`*$x
let y=$y-2
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--------------
----- Original Message -----
From: "César A. K. Grossmann" <address@hidden>
To: <address@hidden>
Sent: Friday, August 01, 2003 11:27 AM
Subject: [shell-script] Validação CPF/CNPJ em shell-script
Olá
Alguém já escreveu algum filtro de CPF/CNPJ para shell-script? Eu
volta e meia recebo um arquivo texto com nomes e CPF/CNPJ (entre
outras informações) e preciso validar os mesmos antes de submeter para
outras aplicações.
Estava pensando em algo tipo um filtro que recebe apenas uma opção que
comutaria entre deixar passar os números válidos e os inválidos. O
filtro faria a leitura dos CPF/CNPJ pela entrada padrão, e escreveria
os resultados na saída padrão. Algo tipo:
Início
INVALIDOS = falso
Se número_opções = 1 então
se opção = --inválidos então
INVALIDOS = verdadeiro
senão
erro( "Opção desconhecida" )
fimse
fimse
ler linha
enquanto linha <> vazio
se validar_cpf_cnpj (linha) então
se INVALIDOS = falso então
escreve linha
fimse
senão
se INVALIDOS então
escreve linha
fimse
fimse
fimenquanto
fim
A função de validação do CPF CNPJ é que é o problema aqui. O primeiro
passo seria descobrir se se trata de um CPF ou um CNPJ. Supondo que
não existam caracteres de pontuação no número, e que cada linha tem
exatamente um número de CPF ou CNPJ, se tiver 11 caracteres é CPF, e
se tiver 14 caracteres é CNPJ.
Alguém tem alguma idéia ou código a compartilhar?
[]s
--
Cesar A. K. Grossmann ICQ UIN: 35659423
http://www.LinuxByGrossmann.cjb.net/
Sit vis nobiscum.
O Maravilhoso Mundo do Linux 2.6 - Confira a tradução!
http://www.LinuxByGrossmann.cjb.net/wwol26-ptBR.html
Visite o Chessworld.net!
http://www.letsplaychess.com/chessclubs/asplogin.asp?from=13550
---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em
http://www.listasdiscussao.cjb.net
---------------------------------------------------------------------
Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html
- Validação CPF/CNPJ em shell-script, César A . K . Grossmann, 2003/08/01
- Re: [shell-script] Validação CPF/CNPJ em shell-script,
Valtoir <=
- Re: [shell-script] Validação CPF/CNPJ em shell-script, Valtoir, 2003/08/04
- Re: Validação CPF/CNPJ em shell-script, César A . K . Grossmann, 2003/08/04
- Re: [shell-script] Re: Validação CPF/CNPJ em shell-script, Valtoir, 2003/08/04
- Re: [shell-script] Re: Validação CPF/CNPJ em shell-script, Silvano Bolfoni Dias, 2003/08/04
- Re: [shell-script] Re: Validação CPF/CNPJ em shell-script, Valtoir, 2003/08/04
- Re: [shell-script] Re: Validação CPF/CNPJ em shell-script, Silvano Bolfoni Dias, 2003/08/04