免费注册 查看新帖 |

Chinaunix

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

[文本处理] 大文本如何统计每行字符出现的次数 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-08-24 15:24 |只看该作者 |正序浏览
本帖最后由 vkqo 于 2013-08-24 16:40 编辑

一个大文本

每行一个字符串,统计不同的字符串出现的次数,然后把生成次数的结果排序生成一个文本

比如a.txt
wangbo
ohpho
wou
abc
asdjfklj
urowre
jojfan
asjdouw
12308s
ja134
9348022
2980024
jbouwf
mingwou
ajluouw
o9274
cba
abc
982344
9999
9999
2308
5644
9999
wangbo
litao
litao

统计后生成个次数文件
9999:3
wangbo:2
litao:2
...

论坛徽章:
0
17 [报告]
发表于 2013-08-26 17:34 |只看该作者
回复 16# rdcwayx


    en,搞定了,谢谢版主

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
16 [报告]
发表于 2013-08-26 12:33 |只看该作者
本帖最后由 rdcwayx 于 2013-08-26 14:34 编辑

回复 13# vkqo

装个cygwin 吧,用不了半小时。Unix命令就啥都有了。
   

论坛徽章:
5
丑牛
日期:2014-01-21 08:26:26卯兔
日期:2014-03-11 06:37:43天秤座
日期:2014-03-25 08:52:52寅虎
日期:2014-04-19 11:39:48午马
日期:2014-08-06 03:56:58
15 [报告]
发表于 2013-08-26 12:22 |只看该作者
  1. perl6 -e 'lines.bag.pairs.sort(-*.value).map(*.fmt.say)' data
复制代码
  1. 9999        3
  2. wangbo        2
  3. abc        2
  4. litao        2
  5. ohpho        1
  6. wou        1
  7. asdjfklj        1
  8. urowre        1
  9. jojfan        1
  10. asjdouw        1
  11. 12308s        1
  12. ja134        1
  13. 9348022        1
  14. 2980024        1
  15. jbouwf        1
  16. mingwou        1
  17. ajluouw        1
  18. o9274        1
  19. cba        1
  20. 982344        1
  21. 2308        1
  22. 5644        1
复制代码

论坛徽章:
10
天蝎座
日期:2013-09-22 22:32:23程序设计版块每日发帖之星
日期:2016-08-07 06:20:00lufei
日期:2016-06-17 17:38:40程序设计版块每日发帖之星
日期:2016-06-12 06:20:002016科比退役纪念章
日期:2016-05-31 15:47:20CU十四周年纪念徽章
日期:2016-05-27 12:24:562015年亚洲杯之阿曼
日期:2015-05-03 21:01:352015年辞旧岁徽章
日期:2015-03-03 16:54:15天蝎座
日期:2013-10-20 21:05:24程序设计版块每日发帖之星
日期:2016-08-11 06:20:00
14 [报告]
发表于 2013-08-24 18:54 |只看该作者
回复 9# vkqo

  1. awk '{line[$1]++}END{
  2.         len=asorti(line, bak);
  3.         for(i=1;i<=len;i++)
  4.         {
  5.                 max = line[bak[i]]
  6.                 tmp = i
  7.                 for(j=1;j<=len;j++)
  8.                 {
  9.                         if(line[bak[j]]>max)
  10.                         {
  11.                                 max = line[bak[j]]
  12.                                 tmp = j
  13.                         }
  14.                 }
  15.                 if(line[bak[tmp]])print bak[tmp]"---"line[bak[tmp]]
  16.                 line[bak[tmp]] = 0
  17.         }
  18. }' 1.txt
复制代码
大数据不知道好不好用了,参考下
http://bbs2.chinaunix.net/viewthread.php?tid=1422856&extra=&page=1

论坛徽章:
0
13 [报告]
发表于 2013-08-24 18:01 |只看该作者
哥们,我的是win32系统

论坛徽章:
0
12 [报告]
发表于 2013-08-24 17:59 |只看该作者
统计的问题已经解决了,就剩下按照次数排序了,
win32下的sort非常恶心不能分列排序

论坛徽章:
8
双子座
日期:2013-08-31 07:37:12金牛座
日期:2013-09-09 18:49:12处女座
日期:2013-09-23 11:43:14处女座
日期:2013-10-09 19:48:21狮子座
日期:2014-03-24 18:22:12丑牛
日期:2014-04-22 22:07:51申猴
日期:2014-06-12 21:54:13双鱼座
日期:2014-06-13 21:52:31
11 [报告]
发表于 2013-08-24 17:58 |只看该作者
  1. perl -lane '++$h{$F[0]}; END{for $k(sort keys %h){print "$k\t$h{$k}"}}' filename
复制代码

回复 1# vkqo


   

论坛徽章:
60
20周年集字徽章-20	
日期:2020-10-28 14:04:3015-16赛季CBA联赛之北京
日期:2016-07-06 15:42:0715-16赛季CBA联赛之同曦
日期:2016-06-12 10:38:0915-16赛季CBA联赛之佛山
日期:2016-05-27 11:54:56黄金圣斗士
日期:2015-12-02 11:44:35白银圣斗士
日期:2015-11-25 14:32:43白银圣斗士
日期:2015-11-23 12:53:352015亚冠之布里斯班狮吼
日期:2015-10-21 16:55:482015亚冠之首尔
日期:2015-09-01 16:46:052015亚冠之德黑兰石油
日期:2015-08-31 11:39:192015亚冠之萨济拖拉机
日期:2015-08-28 21:06:5315-16赛季CBA联赛之广东
日期:2016-07-12 14:58:53
10 [报告]
发表于 2013-08-24 17:55 |只看该作者
文本多大???

论坛徽章:
0
9 [报告]
发表于 2013-08-24 17:08 |只看该作者
用sort -rk 2 就
提示输入文件指定了两次。

我郁闷
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP