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 顯示前三行