当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 10 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 文本中的条目统计 求方法
帖子发表于 : 2012-03-30 17:43 

注册: 2010-07-06 23:58
帖子: 19
送出感谢: 2
接收感谢: 0 次

例如文本a.txt里有这样的内容:
Mary Ma
Luffy Zeng
Zoro Ye
Luffy Zeng
Mary Ma
Luffy Zeng
请问怎么样统计文本中条目,输出以下内容:
Mary Ma:2
Luffy Zeng:3
Zoro Ye:1
请教有什么好方法进行统计??谢谢~~


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 文本中的条目统计 求方法
帖子发表于 : 2012-03-30 18:04 

注册: 2010-07-06 23:58
帖子: 19
送出感谢: 2
接收感谢: 0 次
求各位路过的大牛回答一下呀...~~~~(>_<)~~~~


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 文本中的条目统计 求方法
帖子发表于 : 2012-03-30 18:07 

注册: 2010-05-01 21:23
帖子: 1955
送出感谢: 4
接收感谢: 21
利用脚本。
用list和set容器,可以做到。


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 文本中的条目统计 求方法
帖子发表于 : 2012-03-30 18:31 
头像

注册: 2009-04-11 23:46
帖子: 4130
系统: Arch Linux
送出感谢: 11
接收感谢: 124
代码:
sort | uniq -c

这样就差不多了。或者用 Awk 的数组来计数更好(如果数据非常多的话)。


_________________
我的博客 https://blog.lilydjwg.me/
提问的智慧
Arch Linux 中文论坛

我的vimrc: https://git.io/vimrc


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 文本中的条目统计 求方法
帖子发表于 : 2012-03-30 19:08 

注册: 2008-05-24 8:30
帖子: 1453
送出感谢: 2
接收感谢: 30
awk 的例子:
代码:
#!/usr/bin/awk -f
        {
            count[$0]++
        }
END     {
            for (item in count) print item  ":", count[item]
        }



_________________
评价: 3.7% kingkongmok
 
页首
 用户资料  
 
6 楼 
 文章标题 : Re: 文本中的条目统计 求方法
帖子发表于 : 2012-03-30 19:16 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
代码:
● xsel -o|perl -e 'while(<>){$a{$_}+=1;};while(($k,$v)=each %a){chomp $k;print "$k=>$v\n"};'
Mary Ma=>2
Luffy Zeng=>1
Zoro Ye=>1
Luffy Zeng=>2


文字处理,没跟perl叫板的。
你那行有啥不对的字符。


_________________
● 鸣学


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 文本中的条目统计 求方法
帖子发表于 : 2012-03-30 19:29 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
代码:
● xsel -o|perl -e 'while(<>){chomp; $a{$_}+=1;};while(($k,$v)=each %a){print "$k=>$v\n"};'
Zoro Ye=>1
Luffy Zeng=>3
Mary Ma=>2

xsel的回车影响了。


_________________
● 鸣学


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 文本中的条目统计 求方法
帖子发表于 : 2012-03-30 20:53 
头像

注册: 2009-04-10 11:15
帖子: 721
地址: 三民主义国国民权利省我的选择市中共下台镇
送出感谢: 0 次
接收感谢: 14
学习了,好贴


_________________
强烈反对M$的ARM Secure Boot 锁定要求,大家请签名反对
http://www.fsf.org/campaigns/secure-boo ... cted-boot/


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 文本中的条目统计 求方法
帖子发表于 : 2012-03-30 21:12 
头像

注册: 2012-02-07 23:08
帖子: 45
送出感谢: 1
接收感谢: 2
lilydjwg 写道:
代码:
sort | uniq -c

这样就差不多了。或者用 Awk 的数组来计数更好(如果数据非常多的话)。


这个就差不多了。


_________________
在这里,问题比答案更抢手。


页首
 用户资料  
 
10 楼 
 文章标题 : Re: 文本中的条目统计 求方法
帖子发表于 : 2012-03-30 23:00 
头像

注册: 2009-04-09 15:06
帖子: 673
送出感谢: 0 次
接收感谢: 13
aerofox 写道:
awk 的例子:
代码:
#!/usr/bin/awk -f
        {
            count[$0]++
        }
END     {
            for (item in count) print item  ":", count[item]
        }

这个优雅。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 10 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译