On 四, 2010-06-17 at 11:27 +0800, Zhengpeng Hou wrote: > 2010/6/15 listofx <[email protected]> > > > On 二, 2010-06-15 at 10:32 +0800, listofx wrote: > > > 近来倒腾邮件,有不少学生的练习通过邮件发送到我邮箱里。我想 > > > 1. 收集这些邮件的邮件地址 > > > > > > 我使用evolution,的确没有发现什么好方法可以一次性将这些邮件地址保存到通 > > > 讯簿中,但是我发现evolution有一个过滤功能,其中针对某些邮件可以采用pipe > > > to program的能力。 > > > > > > 因此,我需要一个能处理邮件内容,分离出发件人的程序(命令行),我觉得这样 > > > 的程序应该是已经存在的,但是不知道究竟是什么,特此询问。 > > > > 其实就是自己编写一段脚本就可以,不就是从标准输入中提取电子邮件吗,应该用 > > sed或者awk都是可以的。不过自己懒得弄了。提供一个思路在这里 > >
对提取邮件地址这个问题,我编写了一行(evolution能创建过滤器,对每封邮件 都进行pipe to program的动作。这个program就是下面的脚本了。 =============== #! /bin/sh sed -n -r '/^[fF]rom.*:.*\w+([-+.]\w+)*...@\w+([-.]\w+)*\.\w+([-.]\w+)*/s/[fF]rom.*://p ' - >> /home/xiang/tmp/addr.txt =============== \w+([-+.]\w+)*...@\w+([-.]\w+)*\.\w+([-.]\w+)*是通常的邮件地址的正则表达式形式。 我试过了,有效。 附带有另外一个问题想问。我翻了半天资料,未果。我另外写封邮件。 -- ubuntu-zh mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh
