Validar um CNPJ com máscara diferente no terminal pode parecer complexo, mas com o script certo, você automatiza essa tarefa em segundos, garantindo precisão e evitando erros manuais.
Crie um arquivo chamado validar_cnpj.py e adicione o código abaixo. Este script remove máscaras comuns (pontos, barras, traços, espaços) e valida o CNPJ usando o algoritmo padrão.
import re
def remover_mascara(cnpj):
return re.sub(r'[^0-9]', '', cnpj)
def validar_cnpj(cnpj):
cnpj = remover_mascara(cnpj)
if len(cnpj) != 14 or not cnpj.isdigit():
return False
# Primeiro dígito verificador
pesos1 = [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2]
soma = sum(int(cnpj[i]) * pesos1[i] for i in range(12))
resto = soma % 11
digito1 = 0 if resto < 2 else 11 - resto
# Segundo dígito verificador
pesos2 = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2]
soma = sum(int(cnpj[i]) * pesos2[i] for i in range(13))
resto = soma % 11
digito2 = 0 if resto < 2 else 11 - resto
return str(digito1) == cnpj[12] and str(digito2) == cnpj[13]
if __name__ == "__main__":
import sys
if len(sys.argv) != 2:
print("Uso: python validar_cnpj.py <CNPJ>")
sys.exit(1)
cnpj = sys.argv[1]
if validar_cnpj(cnpj):
print(f"CNPJ {cnpj} é válido.")
else:
print(f"CNPJ {cnpj} é inválido.")
No terminal, navegue até o diretório onde o arquivo foi salvo e execute:
chmod +x validar_cnpj.py
Use o comando abaixo para validar um CNPJ com qualquer máscara:
python validar_cnpj.py 12.345.678/0001-95
| CNPJ de Entrada | Removido Máscara | Válido? |
|---|---|---|
| 12.345.678/0001-95 | 12345678000195 | Sim |
| 12.345.678/0001-99 | 12345678000199 | Não |
| 12345678000195 | 12345678000195 | Sim |
| 12 345 678 0001 95 | 12345678000195 | Sim |
Com este método, você valida CNPJs com qualquer máscara diretamente no terminal, eliminando a necessidade de formatação manual e garantindo resultados confiáveis em segundos.