cat words.txt | tr -s " " " "| sort | uniq -c | sort -r | awk '{print $2, $1}'
tr -s " " " " : 是将空格替换为换行符, 即文件中的单词每一行一个单词
sort 对单词进行排序
uniq -c 统计相同的单词个数 单词数目 单词
sort -r 正序排序
awk '{print $2,$1}' 按照格式化输出, 即最后先输出 单词 单词数目
如果要求严格一点,我们还应该去掉文章中的标点符号后再进行统计:统计频率最高的前5个单词
cat word.txt| sed 's/[,.?!;]/ /g' | tr -s " " "
"|sort|uniq -c | sort -r | awk '{print $2,$1}'| head -n 5