1. 統計的對象words.txt,每個單詞占一行(從簡考慮了~)
zjd@ubuntu:~/test$ cat word.txt used this count mysql count this used mysql linux this redis apple android redis apple
2. 統計每個單詞的頻率
方法1:
zjd@ubuntu:~/test$ cat word.txt |awk '{a[$0]++}END{for(i in a) print i"="a[i]}'
linux=1
used=2
apple=2
mysql=2
count=2
android=1
redis=2
this=3
方法2(與方法1沒有本質區別~~,{}大括號也可以表示循環)
zjd@ubuntu:~/test$ cat word.txt |awk '{for(i=0;i<NF;i++) a[$0]++}END{for(i in a) print i"="a[i]}'
linux=1
used=2
apple=2
mysql=2
count=2
android=1
redis=2
this=3
3. 統計出現頻率最多的三個單詞
方法1:
zjd@ubuntu:~/test$ cat word.txt|awk '{a[$0]++}END{for(i in a) print i" "a[i]}'|sort -k2r|head -3
this 3
apple 2
count 2
方法2:
zjd@ubuntu:~/test$ cat word.txt|sort |uniq -c|sort -k1r|head -3
3 this
2 used
2 redis
知識點:
sort 排序 -r 倒序 -k1 對第一個字段排序
uniq 相同的單詞放在一起 -c count 合並相同的單詞,顯示次數
head -3 顯示前三行
