Verificar a validade de um CPF (Cadastro de Pessoas Físicas) é uma tarefa comum em sistemas de automação e processamento de dados. Utilizar expressões regulares (regex) no terminal é uma abordagem rápida e eficiente para validar o formato de um CPF, garantindo que ele siga o padrão correto antes de aplicar algoritmos de validação mais complexos.
Um CPF válido no Brasil tem o formato XXX.XXX.XXX-XX, onde X é um dígito de 0 a 9. A expressão regular deve considerar tanto o formato com pontos e hífen quanto o formato apenas numérico (11 dígitos).
A regex a seguir valida o formato de um CPF, permitindo tanto o formato com pontuação quanto o formato apenas numérico:
^\d{3}\.\d{3}\.\d{3}-\d{2}$|^(\d{11})$
Esta expressão regular funciona da seguinte forma:
^\d{3}\.\d{3}\.\d{3}-\d{2}$ valida o formato XXX.XXX.XXX-XX.^(\d{11})$ valida o formato apenas numérico com 11 dígitos.Para verificar se um CPF está no formato correto, você pode usar o comando grep ou egrep (ou grep -E) no terminal. Veja como:
echo "123.456.789-09" | grep -E '^\d{3}\.\d{3}\.\d{3}-\d{2}$|^(\d{11})$'
Se o CPF estiver no formato correto, o comando retornará a string digitada. Se não estiver, não haverá retorno.
Para automatizar a validação de múltiplos CPFs, você pode criar um script shell. Veja um exemplo:
#!/bin/bash
# Função para validar CPF
validar_cpf() {
local cpf="$1"
if [[ "$cpf" =~ ^\d{3}\.\d{3}\.\d{3}-\d{2}$|^(\d{11})$ ]]; then
echo "CPF $cpf: VÁLIDO (formato)"
else
echo "CPF $cpf: INVÁLIDO (formato)"
fi
}
# Testando a função
validar_cpf "123.456.789-09"
validar_cpf "12345678909"
validar_cpf "123.456.789-0"
Salve o script em um arquivo (ex: validar_cpf.sh), dê permissão de execução (chmod +x validar_cpf.sh) e execute-o (./validar_cpf.sh).
| CPF de Entrada | Formato Válido? | Saída Esperada |
|---|---|---|
| 123.456.789-09 | Sim | CPF 123.456.789-09: VÁLIDO (formato) |
| 12345678909 | Sim | CPF 12345678909: VÁLIDO (formato) |
| 123.456.789-0 | Não | CPF 123.456.789-0: INVÁLIDO (formato) |
| 12345 | Não | CPF 12345: INVÁLIDO (formato) |
Com este método, você pode rapidamente verificar o formato de CPFs diretamente no terminal, garantindo que os dados estejam estruturados corretamente antes de aplicar validações mais complexas. A combinação de regex e scripts shell oferece uma solução eficiente e escalável para processamento de dados em larga escala.