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

回复