LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1418|回复: 19

如何从文件里提取email地址[已解决]

[复制链接]
发表于 2004-2-19 16:56:56 | 显示全部楼层 |阅读模式
想把mutt里的地址文件中的email提取出来,email都是以<user@xxx.xxx>格式存在的,准备用sed提取,怎么样实现呢?我想把所有非<>内的内容全都去掉,这样就可以剩下email了,可是这个取非操作没有实现成功。;
发表于 2004-2-19 17:13:24 | 显示全部楼层
[/home/javalee]cat email.txt
AUTHOR
       Written by Richard Stallman and David MacKenzie.

       REPORTING BUGS
              Report bugs to <bug-fileutils@gnu.org>.

EPORTING BUGS
              Report bugs to <bug-fileutils@gnu.org>.
              <abc@n.com>
              REPORTING BUGS
                            Report bugs to <bug-fileutils@gnu.org> or <javalee@linuxsir.cn>.
  1. awk '/<*@*>/{c=NF;print $c}'|tr -d '<|>' email.txt
复制代码
result:
发表于 2004-2-19 17:45:06 | 显示全部楼层
$ echo 'my email is <dearvoid@263.net>, remember ?' | sed -e 's,.*<\(.*\)>.*,\1,'
发表于 2004-2-19 17:56:40 | 显示全部楼层
the result:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2004-2-19 18:08:09 | 显示全部楼层
最初由 dearvoid 发表
$ echo 'my email is <dearvoid@263.net>, remember ?' | sed -e 's,.*<\(.*\)>.*,\1,'
[/home/javalee/myshell]sed -e 's,.*<\(.*\)>.*,\1,' em
AUTHOR
       Written by Richard Stallman and David MacKenzie.

       REPORTING BUGS
bug-fileutils@gnu.org

EPORTING BUGS
bug-fileutils@gnu.org
abc@n.com
              REPORTING BUGS
javalee@linuxsir.cn
[img]
http://www.doggiehome.com/images/smilies/21.gif[/img]
发表于 2004-2-19 18:41:41 | 显示全部楼层
-(root@daisy)--(~/trash)-
[0] % cat email
AUTHOR
Written by Richard Stallman and David MacKenzie.

REPORTING BUGS
Report bugs to <bug-fileutils@gnu.org>.

EPORTING BUGS
Report bugs to <bug-fileutils@gnu.org>.
<abc@n.com>
REPORTING BUGS
Report bugs to <bug-fileutils@gnu.org> or <javalee@linuxsir.cn>.

-(root@daisy)--(~/trash)-
[0] % grep "<.*>" email | sed -e 's,.*<\(.*\)>.*,\1,'
bug-fileutils@gnu.org
bug-fileutils@gnu.org
abc@n.com
javalee@linuxsir.cn
-(root@daisy)--(~/trash)-
[0] %
发表于 2004-2-19 18:43:02 | 显示全部楼层
the result:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2004-2-19 18:46:31 | 显示全部楼层
(-: 其实这样也不是很严格, 除非 email 文件的格式真的这么简单 :-)
 楼主| 发表于 2004-2-19 21:22:13 | 显示全部楼层
这样也可以
tr -s ' ' '\n' <email|grep @|tr -d '<>'
 楼主| 发表于 2004-2-19 23:51:38 | 显示全部楼层
awk '/<*@*>/{c=NF;print $c}'|tr -d '<|>' email.txt

这个似乎有问题,只能显示最后一项含有email的条目,即$NF项
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表