Validar e-mails em arquivo CSV
Publicado por Christian Martorano (última atualização em 04/07/2018)
[ Hits: 2.385 ]
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
Apagar automaticamente arquivos de /var/log*
freeradius: radwho mostrando número de usuários
Script Iniciador do PostgreSQL
Nenhum comentário foi encontrado.
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Erro ao instalar programa, "você tem pacotes retidos quebrados&qu... (13)
VOL já não é mais como antes? (15)
Como personalizar o lxde? [RESOLVIDO] (5)
Flatpaks não funcionam após atualizar pelo Gerenciador de Atualizações... (3)









