我正在尝试自动化一件事,当前遇到了以下问题。
我有一份这种格式的电子邮件列表:
John Doe <John.Doe@example.com>; Bill Gates <Bill.Gates@example.com>; Alfred Pennyworth <Alfred.Pennyworth@example.com>; (etc.)
我需要解析此问题,并以逗号分隔的mailx
提供收件人列表。此代码未提供所需的输出。
perl -wne'while(/[\w\.\-]+@[\w\.\-]+\w+/g){print "$&,"}' $MAIL_LIST
它在最后一次解析的电子邮件后附加逗号(例如“ Alfred.Pennyworth@example.com,”),而我只需要逗号。
答案 0 :(得分:2)
使用此功能,在每个电子邮件地址(第一个
除外)之前打印,
perl -wne'$c=0;while(/[\w\.\-]+@[\w\.\-]+\w+/g){print "," if $c++;print "$&"}'
答案 1 :(得分:2)
加入与,
perl -wne 'print join ",", /([\w\.\-]+@[\w\.\-]+\w+)/g' $MAIL_LIST