0

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

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

我需要更改哪些内容才能将结果打印到新文件?

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

4

2 回答 2

2

也许以下使用Email::Address的选项会有所帮助:

perl -MEmail::Address -ne 'print "@a\n" if @a = Email::Address->parse($_)' inFile >outFile
于 2013-02-21T05:37:49.097 回答
0

只需将输出重定向到一个文件,如下所示:

perl -ne'if(/[\w\.\-\_]+@([\w\-\_]+\.)+[A-Za-z]{2,4}/g){print "$&\n"}' database.sql > somefile
于 2013-02-21T05:16:39.987 回答