Validar e-mails em arquivo CSV
Publicado por Christian Martorano (última atualização em 04/07/2018)
[ Hits: 2.477 ]
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
Limpar pacotes com versões antigas do cache do apt
Verificando a versão mais recente do Wine via script
Instalação de servidor DHCP rápido e fácil
Nenhum comentário foi encontrado.
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Instalando COSMIC no Linux Mint
Turbinando o Linux Mint: o poder das Nemo Actions
Inteligência Artificial no desenvolvimento de software: quando começar a usar?
Colocando hotcorner no COSMIC para exibir "workspaces"
Usando o Dolphin para checar hashes de arquivos
Contorno de BUG do "color picker" para COSMIC Desktop









