Chinaunix

标题: 关于统计的问题 [打印本页]

作者: cablink    时间: 2010-01-18 13:45
标题: 关于统计的问题
有如下类型的文件,
aaa
bbb
ccc
ddd
aaa
ccc
ddd

想要统计每个记录个出现几次,结果如:
aaa 2
bbb 1
ccc 2
ddd 2

怎样写脚本?
作者: evan_wan    时间: 2010-01-18 13:47
sort a.txt |uniq -c
作者: beginner-bj    时间: 2010-01-18 13:59
  1. awk '{a[$1]++}END{for (i in a) print i,a[i]}'  file
复制代码

[ 本帖最后由 beginner-bj 于 2010-1-18 14:04 编辑 ]
作者: beginner-bj    时间: 2010-01-18 14:04
再写个需要排序的
  1. awk 'NR==FNR{a[$1]++}NR>FNR&&!b[$1]++{print $1,a[$1]}'  file file
复制代码

作者: bbgg1983    时间: 2010-01-18 14:57
请问  awk '{a[$1]++}END{for (i in a) print i,a}'  file  里面
这段  {a[$1]++} 怎么理解?
作者: beginner-bj    时间: 2010-01-18 15:27
原帖由 bbgg1983 于 2010-1-18 14:57 发表
请问  awk '{a[$1]++}END{for (i in a) print i,a}'  file  里面
这段  {a[$1]++} 怎么理解?


http://www.google.cn/search?hl=z ... 84&aq=f&oq=
http://www.bzhou.com/shuma/200903/30-12263.html
作者: ubuntuer    时间: 2010-01-18 19:26
我也写个需要按照原来顺序的

  1. awk '{if(!a[$1]){b[i++]=$1;a[$1]++}c[$1]++}END{for(j=0;j<i;j++)print b[j], c[b[j]]}'   urfile
复制代码


简单点的话

  1. awk '{a[$1]++}END{for (i in a) print i,a[i]}'  urfile
复制代码

就可以了




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2