[文本处理] awk 统计单词 在行出现的次数

http://bbs.chinaunix.net/thread-4102008-1-1.html

#cat 1
a1 b1 a1 c1 a1a b1 b1 c1 a1a b1 a1 b1


需要达到的效果:
a1 = 3
b1 = 5
c1 = 3
a1a = 2

求大神,指点。。

 

 awk '{for(i=1;i<=NF;i++)a[$i]++}END{for(i in a) print i"="a[i]}'

 

本帖最后由 Shell_HAT 于 2013-10-16 15:40 编辑

回复 5# wang390750
  1. for(;i++<NF;)
复制代码
依次遍历a1、b1、a1、c1......每一列
  1. a[$i]++
复制代码
创建一个哈希数组,数组的key是每一列的内容a1、b1、a1、c1......,数组的value是每一列出现的次数
  1. for(i in a)print i" = "a[i]
复制代码
输出统计的结果

posted on 2017-08-31 20:52  小西红柿  阅读(1616)  评论(0)    收藏  举报

导航