使用shell实现简单的词频统计
需求:
统计如下中第二列单词出现的次数:
1,huabingood,100 2,haha,200 3,huabingood,300 4,haha,100 5,haha,200
具体代码:
cat a.txt | awk -F "," '{print $2}' | sort | uniq -c | sort -nrk 1
代码解释:
awk -F "," '{print $2}' # 将数据按照逗号进行分割,并取出第二列的内容
sort # 将取出的内容进行排序。因为uniq统计时,如果重复的数据不连续,就会被认为时两个不同内容的行
uniq -c # 统计重复行出现的次数
sort -nrk 1 # 按照第一列重复的次数,按照数字顺序进行降序排列