Validar e-mails em arquivo CSV
Publicado por Christian Martorano (última atualização em 04/07/2018)
[ Hits: 2.607 ]
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
Renomeador Automático de Arquivos de Mídia
Compilação do kernel linux-libre 4.4.6 com cflags -march=native + -Ofast
Desligar o servidor quando todas as estações estiverem desligadas
Script simples para Atualizar hora Slackware
Nenhum comentário foi encontrado.
Maquina modesta - a vez dos navegadores ferrarem o usuario
Fscrypt: protegendo arquivos do seu usuário sem a lentidão padrão de criptograr o disco
Faça suas próprias atualizações de pacotes/programas no Void Linux e torne-se um Contribuidor
Resolvendo o bloqueio do Módulo Warsaw no Arch Linux (Porta 30900)
Warsaw não é reconhecido no Google Chrome 147.0.7727.55 (7)
Metafísica e espiritualidade funciona de verdade! Comprovação pessoal (14)









