免费注册 查看新帖 |

Chinaunix

广告
  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2007 | 回复: 10
打印 上一主题 下一主题

把所有的email提出来 ,应该怎么做呢? (在下是新手,又要急用) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-09-25 15:47 |只看该作者 |倒序浏览
abc  bbc  bbs  abc@263.net  dvv
abd  ddc  sdfsdf  dff@hotmail.com   dff@eyou.com  dsfsdf
dfs        sdfkj        jlsdf        sdjf@163.com sdfjk jsdfkfsd       
.....
.....

像上面这种格式的文本
想要把所有的email提出来,还是按照原来的行数
就像下面这样:

abc@263.net
dff@hotmail.com
sdjf@163.com
......
......

这样的脚本应该怎样写呢?
在下是新手,又要急用...谢谢了

论坛徽章:
0
2 [报告]
发表于 2004-09-25 15:56 |只看该作者

把所有的email提出来 ,应该怎么做呢? (在下是新手,又要急用)

  1. awk '{for(i=1;i<=NF;i++)if($i~/@/)print $i}' file
复制代码

论坛徽章:
0
3 [报告]
发表于 2004-09-25 16:10 |只看该作者

把所有的email提出来 ,应该怎么做呢? (在下是新手,又要急用)

好像结果里面行数就变多了...
因为有的行有几个email地址

比如上面3行中第二行有两个email地址,结果里只要第一个就可以了,这样结果也能保证是3行

另外,发现有个别邮件后面有逗号或者分号, (比如 abc@163.com,ddsk )如何取出来呢?

论坛徽章:
0
4 [报告]
发表于 2004-09-25 16:27 |只看该作者

把所有的email提出来 ,应该怎么做呢? (在下是新手,又要急用)

用tr把逗号/分号替换成空格即可
tr ',|;' ' ' <file

论坛徽章:
0
5 [报告]
发表于 2004-09-25 16:27 |只看该作者

把所有的email提出来 ,应该怎么做呢? (在下是新手,又要急用)

关键是要行数要跟原来的文件保持一致
每行只取一个email地址就可以了
这样应该怎么写呢?

论坛徽章:
0
6 [报告]
发表于 2004-09-25 16:29 |只看该作者

把所有的email提出来 ,应该怎么做呢? (在下是新手,又要急用)

原帖由 "bjgirl" 发表:
用tr把逗号/分号替换成空格即可
tr ',|;' ' ' <file


逗号分号都好解决
关键是每行只取第一个email地址就够了
保持行数跟原文件一致...这个不知道该怎么做

论坛徽章:
0
7 [报告]
发表于 2004-09-25 16:49 |只看该作者

把所有的email提出来 ,应该怎么做呢? (在下是新手,又要急用)


  1. cat file|tr ',|;' ' '|sed 's/.* \([a-zA-Z0-9]\{1,\}@[A-Za-z0-9.]\{1,\}\) .*/\1/'
复制代码

论坛徽章:
0
8 [报告]
发表于 2004-09-25 18:09 |只看该作者

把所有的email提出来 ,应该怎么做呢? (在下是新手,又要急用)

行数没有问题了
可是所有带有 -  或  _  或  . (下划线,中划线,点)的email地址都不能挑出来了

比如
111  122  ab_ab@eyou.com   sfdsfd
这样的行就显示整行了....

论坛徽章:
0
9 [报告]
发表于 2004-09-25 18:24 |只看该作者

把所有的email提出来 ,应该怎么做呢? (在下是新手,又要急用)

呵呵。已经搞定了.只要加上 . - _ 限定一下就ok了
严重谢谢bjgirl

论坛徽章:
0
10 [报告]
发表于 2004-09-25 19:55 |只看该作者

把所有的email提出来 ,应该怎么做呢? (在下是新手,又要急用)

awk -F'[ ;,]'  '{for(i=1;i<=NF;i++)if($i~/@/){print $i; break}}' filename >newfilename
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP