Validar e-mails em arquivo CSV
Publicado por Christian Martorano (última atualização em 04/07/2018)
[ Hits: 2.358 ]
Primeiramente, bom dia a todos os companheiros do maravilhoso mundo GNU/Linux.
Criei esse script para validar todos os e-mails que me são retornados por um arquivo "CSV" do CRM da empresa que trabalho.
Estou compartilhando ele para qualquer um que possa lhe ser útil.
Layout do arquivo:
NOME;EMAIL;CPF
Um grande abraço a todos da comunidade!
#!/bin/bash
#Layout do arquivo NOME;CPF;EMAIL
if [ "$1" == "" ]; then
echo "[+] Nao foi passado arquivo de e-mails."
exit
fi
rm emailsvalidos.txt 2>/dev/null
touch emailsvalidos.txt
regex="[a-z0-9_.%+-]+@[a-z0-9.-]+\.[a-z]{2,}"
echo "[+] Aguarde capturando e-mails validos."
echo -e "CLIENTE;CPF;EMAIL;DOMINIO\r" >> emailsvalidos.txt
qtdreg="$(($(wc -l "$1" | cut -d " " -f1)/40 | bc))"
for l in $(cat "$1" | tr " " "$" | tr "\n" " ");do
let count++
cliente="$(echo "$l" | cut -d ";" -f2 | tr "$" " ")"
cpf="$(echo "$l" | cut -d ";" -f1)"
email="$(echo "$l" | cut -d ";" -f3 | tr "[A-Z]" "[a-z]" | tr -d "\r")"
dominio="$(echo "$email" | cut -d "@" -f2)"
qtd="$(echo -n $email | tr "@" "\n" | wc -l)"
if [[ "$email" =~ $regex ]] && [ "$qtd" -eq 1 ]; then
echo -e "$cliente;$cpf;$email;$dominio\r" >> emailsvalidos.txt
fi
if [ "$count" -gt "$qtdreg" ]; then
echo -n "#"
let count=0
fi
done
unix2dos emailsvalidos.txt 2>/dev/null
echo
Verificando roteamento em vários servidores Linux
Bloquear Whatsapp, Facebook, Youtube e outros pelo IPTABLES
Nenhum comentário foi encontrado.
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
O programa assinador digital (0)
dpkg: erro: gatilho de arquivo duplicado chamado pelo arquivo de nome (6)
Instalação não está resolvendo as dependencias (2)
Captação de áudio no zorin linux começa a diminuir com o tempo (5)









