分页: 1 / 1

文本中的条目统计 求方法

发表于 : 2012-03-30 17:43
zeng8809

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

Re: 文本中的条目统计 求方法

发表于 : 2012-03-30 18:04
zeng8809
求各位路过的大牛回答一下呀...~~~~(>_<)~~~~

Re: 文本中的条目统计 求方法

发表于 : 2012-03-30 18:07
谢宝良
利用脚本。
用list和set容器,可以做到。

Re: 文本中的条目统计 求方法

发表于 : 2012-03-30 18:31
lilydjwg

代码: 全选

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

Re: 文本中的条目统计 求方法

发表于 : 2012-03-30 19:08
aerofox
awk 的例子:

代码: 全选

#!/usr/bin/awk -f
        {
            count[$0]++
        }
END     {
            for (item in count) print item  ":", count[item]
        }

Re: 文本中的条目统计 求方法

发表于 : 2012-03-30 19:16
eexpress

代码: 全选

● 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叫板的。
你那行有啥不对的字符。

Re: 文本中的条目统计 求方法

发表于 : 2012-03-30 19:29
eexpress

代码: 全选

● 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的回车影响了。

Re: 文本中的条目统计 求方法

发表于 : 2012-03-30 20:53
lxr1234
学习了,好贴

Re: 文本中的条目统计 求方法

发表于 : 2012-03-30 21:12
Think1st
lilydjwg 写了:

代码: 全选

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

Re: 文本中的条目统计 求方法

发表于 : 2012-03-30 23:00
mjp123
aerofox 写了:awk 的例子:

代码: 全选

#!/usr/bin/awk -f
        {
            count[$0]++
        }
END     {
            for (item in count) print item  ":", count[item]
        }
这个优雅。