免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: 2248388401
打印 上一主题 下一主题

[文本处理] AWK分组统计遇到的难题,求大神帮忙看看 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2015-11-23 20:36 |只看该作者
substr函数 发表于 2015-11-23 20:03
这样


python还没有环境试,等我有环境了试试哈

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
12 [报告]
发表于 2015-11-23 20:44 |只看该作者
回复 1# 2248388401

$ awk -F'|' '{if(!k[$1,$2]++){a[$1]++;print $2>$1".txt"}}END{for(n in a)print n,a[n]}' FILE
a.com.cn 2
c.com.cn 1
b.com.cn 2

$ grep . *.com.cn.txt
a.com.cn.txt:202.109.134.23
a.com.cn.txt:202.109.134.24
b.com.cn.txt:202.109.134.23
b.com.cn.txt:202.109.134.25
c.com.cn.txt:202.109.134.24

   

论坛徽章:
0
13 [报告]
发表于 2015-11-24 10:37 |只看该作者
回复 1# 2248388401

你说CPU不高,你是看的总cpu使用率还是单核的cpu使用率。现在服务器上都是好多核,所以一核100%但总使用率可能只有10%。 rhel,在top命令下按数字1能看到具体各核的使用率。

另外iowait高么?

论坛徽章:
0
14 [报告]
发表于 2015-11-24 16:41 |只看该作者
lgfang 发表于 2015-11-24 10:37
回复 1# 2248388401

你说CPU不高,你是看的总cpu使用率还是单核的cpu使用率。现在服务器上都是好多核, ...


确实是平均CPU使用率不高,但单核CPU基本上95%以上这种,但iowait不高,这个如何优化呢

论坛徽章:
0
15 [报告]
发表于 2015-11-25 09:07 |只看该作者
本帖最后由 lgfang 于 2015-11-25 09:12 编辑

回复 14# 2248388401


    这么看来瓶颈还是cpu,必须设法把任务分成多线程/进程放到不同的核上去。比如说把记录拆成几份同时分别处理,然后再汇总。


另外,gnu有个看起来很酷的工具  parallel 可能可以派上用场(但我从来没用过)。 http://www.rankfocus.com/use-cpu-cores-linux-commands/

论坛徽章:
0
16 [报告]
发表于 2015-11-26 13:06 |只看该作者
既然是CPU太高,那就分散CPU压力,在记录生成时就加入两个MD5字段,取MD5定长16进制转为十进制存储,后期只比较数值,效率会上几个数量级。

论坛徽章:
0
17 [报告]
发表于 2015-11-27 00:27 |只看该作者
本帖最后由 bh3531 于 2015-11-27 09:29 编辑

awk -F "|" '{a[$1]++;b[$2" "$1]}END{for(i in a)print i,a;for(i in b){split(i,c," ");print c[1],c[2]}}' b

a.com.cn 7
wer.com.cn 1
w.com.cn 3
c.com.cn 2
b.com.cn 4
202.109.134.25 b.com.cn
202.109.134.23 w.com.cn
202.109.134.24 c.com.cn
202.109.134.24 a.com.cn
202.109.134.23 b.com.cn
202.109.134.23 wer.com.cn
202.109.134.23 a.com.cn

1、a统计每一个 URL 被访问次数
2、b统计每一个IP他访问了什么网站

论坛徽章:
0
18 [报告]
发表于 2015-11-27 00:30 |只看该作者
本帖最后由 bh3531 于 2015-11-27 00:42 编辑

我不清楚楼主的实际情况,如果问题不在 循环上,而是在I/O上,拿就无能为力了

我虚拟机是VMWARE ,主机是SSD硬盘,1000W条 写完是 20秒,我想楼主改完代码要不会太差,我想300W ,2分钟应该足够了吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP