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 に答える