Validar e-mails em arquivo CSV

Publicado por Christian Martorano (última atualização em 04/07/2018)

[ Hits: 2.256 ]

Download validaMail.sh




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!

  



Esconder código-fonte

#!/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

Scripts recomendados

[Nokia-3g] Configuração do Nokia Internet Stick CS 10

Ativa e dasativa o XGL para o KDE

Script para fazer o scroll (a rodinha) do mouse serial funcionar

Mudar tema Splashy

Configurar Rede Local


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts