1 votes

Extraire les adresses électroniques d'un grand fichier texte

Existe-t-il un moyen de rechercher dans un grand nombre de documents texte et d'en extraire les adresses électroniques dans un nouveau document ?

C'est ce que j'ai fait jusqu'à présent dans Automator :

#!/bin/bash

Report=/Users/me/Desktop/mail/cur.txt

for f in /Users/me/Desktop/mail/test/*
do
    if [ -f "$f" ] ; then
        EMAIL=$(/usr/bin/grep -E -o '^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$' "$f" )
        if [ "$EMAIL" != "" ] ; then
            echo "$EMAIL" >> "$Report"
        fi
    fi
done

Mais j'obtiens de nombreuses lignes vides imprimées en sortie.

1voto

Appalling Points 139
#!/bin/bash

Report=/Users/me/Desktop/mail/cur.txt

for f in /Users/me/Desktop/mail/test/*; do
  if [ -f "$f" ] ; then
    EMAIL=$(/usr/bin/grep -E -o '([a-zA-Z0-9_\.-]+)@([a-zA-Z0-9_\.-]+)\.([a-zA-Z]{2,5})' "$f" )

    if [ "$EMAIL" != "" ] ; then
      echo "$EMAIL" >> "$Report"
    fi
  fi
done

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X