免费注册 查看新帖 |

Chinaunix

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

awk 去重复汇总 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-08-04 14:22 |只看该作者 |正序浏览
本帖最后由 cjaizss 于 2011-08-23 16:43 编辑

有个txt里有一些手机号:
  1. 13912345678
  2. 15012345678
  3. 15012345678
  4. 15912345678
  5. 15112345678
  6. 13912345678
  7. 15812345678
  8. 13912345678
  9. 15812345678
复制代码
想用awk对这些手机号滤重以后做个汇总,最后输出个总数即可
请大侠指点!

论坛徽章:
0
13 [报告]
发表于 2011-08-25 19:13 |只看该作者
本帖最后由 BangBull 于 2011-08-25 19:16 编辑

  1. #!/usr/bin/python

  2. with open('/root/urfile') as f:
  3.         aDict = {}           
  4.         for i in f:     
  5.                 i = i.strip()
  6.                 aDict[i] = aDict.get(i,0) + 1

  7. for key in aDict:
  8.         print key,': ',aDict[key]

  9. 打印如下:
  10. 15912345678 :  1
  11. 15012345678 :  2
  12. 13912345678 :  3
  13. 15112345678 :  1
  14. 15812345678 :  2

复制代码

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
12 [报告]
发表于 2011-08-23 16:59 |只看该作者
回复  cjaizss


    这个老大已经发这些手机号发了五次都有了。。。
mpstat 发表于 2011-08-23 16:25



    有五次就有六次

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
11 [报告]
发表于 2011-08-23 16:41 |只看该作者
晕,楼主不应该把手机号贴出来的。总是不太好
ilwmin 发表于 2011-08-23 16:26



    说的有道理,我把它擦了吧

论坛徽章:
0
10 [报告]
发表于 2011-08-23 16:26 |只看该作者
回复  cjaizss


    这个老大已经发这些手机号发了五次都有了。。。
mpstat 发表于 2011-08-23 16:25


晕,楼主不应该把手机号贴出来的。总是不太好

论坛徽章:
0
9 [报告]
发表于 2011-08-23 16:25 |只看该作者
回复 6# cjaizss


    这个老大已经发这些手机号发了五次都有了。。。

论坛徽章:
0
8 [报告]
发表于 2011-08-23 16:23 |只看该作者
  1. awk '{a[$0]++}END{for(i in a) {printf ("%s\n",i)}{print "total:"NR}}'
复制代码

论坛徽章:
0
7 [报告]
发表于 2011-08-23 09:37 |只看该作者
AWK程序文件内容(test.awk):
BEGIN {
  user_count = 0
}

{
  if ( !a[$1] ) {
    user_count++
  }
}


END {
  print user_count
}


运行程序:
awk -f test.awk data.txt

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
6 [报告]
发表于 2011-08-23 09:32 |只看该作者
这是shell最简单的应用了,这样的内容已经问了无数次了.
哎,为什么就不肯花时间学学呢.

论坛徽章:
0
5 [报告]
发表于 2011-08-23 09:31 |只看该作者
回复 3# lvyuancyx


    第一个awk只是统计了个数,未计算总数。
   第二个语句,没有试出结果。
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP