2000 以上のデータベースを含む MYSQL Server にアクセスできます。すべてのデータベースをスキャンして、データベースのテーブルに保存されているすべての電子メール アドレスを取得したいと考えています。
では、すべてのデータベースからメールアドレスを抽出するソリューションを教えてください!?
私はすでに root 権限と phpmyadmin を持っています。
ありがとうございました
2000 以上のデータベースを含む MYSQL Server にアクセスできます。すべてのデータベースをスキャンして、データベースのテーブルに保存されているすべての電子メール アドレスを取得したいと考えています。
では、すべてのデータベースからメールアドレスを抽出するソリューションを教えてください!?
私はすでに root 権限と phpmyadmin を持っています。
ありがとうございました
すべてのテーブルに (つまり、ルートとして) アクセスできる場合は、すべてのテーブルをダンプして、次のようにメール アドレスを grep できます。
mysqldump -u root -p --all-database | egrep -i "\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b"
私が使用した正規表現は、ここから取得されます: http://www.regular-expressions.info/email.html
編集: 上記のコマンドは、列に関係なく、電子メール アドレスを含む行全体を出力します。メール専用の列がある場合は、少し変更してメールのみを印刷できます。
mysqldump -u root -p --all-database | perl -pe "s/,/\n/g; s/'//g;" | egrep -i "\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b"
これにより、周囲の引用符も削除されます。