Perl 如何使用命令行提取电子邮件?
我正在使用以下命令从文件中提取电子邮件:Perl 如何使用命令行提取电子邮件?,perl,shell,command-line,command,Perl,Shell,Command Line,Command,我正在使用以下命令从文件中提取电子邮件: perl -ne'if(/[\w\.\-\_]+@([\w\-\_]+\.)+[A-Za-z]{2,4}/g){print "$&\n"}' database.sql 要将结果打印到新文件,我需要更改什么 或者,如果您有更好的解决方案,可以通过命令行提取所有电子邮件,请发布。只需将输出重定向到如下文件: perl -ne'if(/[\w\.\-\_]+@([\w\-\_]+\.)+[A-Za-z]{2,4}/g){print "$&\n
perl -ne'if(/[\w\.\-\_]+@([\w\-\_]+\.)+[A-Za-z]{2,4}/g){print "$&\n"}' database.sql
要将结果打印到新文件,我需要更改什么
或者,如果您有更好的解决方案,可以通过命令行提取所有电子邮件,请发布。只需将输出重定向到如下文件:
perl -ne'if(/[\w\.\-\_]+@([\w\-\_]+\.)+[A-Za-z]{2,4}/g){print "$&\n"}' database.sql > somefile
以下使用的选项可能会有所帮助:
perl -MEmail::Address -ne 'print "@a\n" if @a = Email::Address->parse($_)' inFile >outFile