如何使用命令行提取电子邮件?

时间:2013-02-21 05:11:13

标签: perl shell command-line command

我使用以下命令从文件中提取电子邮件:

perl -ne'if(/[\w\.\-\_]+@([\w\-\_]+\.)+[A-Za-z]{2,4}/g){print "$&\n"}' database.sql

我需要更改什么才能将结果打印到新文件?

或者,如果您通过命令行获得更好的解决方案来提取所有电子邮件,请发布。

2 个答案:

答案 0 :(得分:2)

使用Email::Address的以下选项可能会有所帮助:

perl -MEmail::Address -ne 'print "@a\n" if @a = Email::Address->parse($_)' inFile >outFile

答案 1 :(得分:0)

只需将输出重定向到如下文件:

perl -ne'if(/[\w\.\-\_]+@([\w\-\_]+\.)+[A-Za-z]{2,4}/g){print "$&\n"}' database.sql > somefile