[Ubuntu-zh] 怎么取得一行文本中的邮件地址?

listofx listofx在gmail.com
星期六 六月 19 13:39:29 BST 2010


On 五, 2010-06-18 at 22:33 +0800, Tusooa Zhu wrote:
> 在 星期五 18 6月 2010 02:06:57,listofx 写
> 道:
> > 通常,邮件头中发件人有如下格式
> > From: xxx yyy <xxx在ubuntu.com>
> > From: “xxx yyy” <xxx在ubuntu.com>
> > From: xxx在ubuntu.com
> > 
> > 我想提取这样一行中的地址(只是
> xxx在ubuntu.com),该如何进行?
> > 
> > 我知道:如果不考虑第三种情况,采用<字
> 符作为字段分隔符,使用cut或者awk就
> > 很容易得到结果。
> > 
> > sed能做到吗?
> > 在发邮件的时候,我想到一个办法,还是想
> 看看是否有别的方式。
> 
> sed -e 's/.*<\(.*\)>.*/\1/'

我在man sed中看到\1的解释,但是没有看懂。即使看到您的回复,动手操作了一
下,还是不明白\1的作用。
……
我终于在手里的一本电子书中找到了相应信息。也许info sed中有解释(info sed
的信息比man sed详细),但是个人真的不喜欢info,凡是按键和vi不一致的都不
习惯。
谢谢!

解释如下,放在这里说不定有用。
The sed editor uses parentheses to define a substring component within the substitution pattern.
You can then reference each substring component using a special character in the replacement
pattern. The replacement character consists of a backslash and a number. The number indicates
the position of the substring component. The sed editor assigns the first component the character
\1, the second component the character \2, and so on.





关于邮件列表 ubuntu-zh 的更多信息