Shell练习 统计单词个数,降序排列

Posted qingyezhu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell练习 统计单词个数,降序排列相关的知识,希望对你有一定的参考价值。

原文:https://leetcode.com/problems/word-frequency/
Write a bash script to calculate the frequency of each word in a text file words.txt.

For simplicity sake, you may assume:

words.txt contains only lowercase characters and space   characters.
Each word must consist of lowercase characters only.
Words are separated by one or more whitespace characters.
For example, assume that words.txt has the following content:

the day is sunny the the
the sunny is is
Your script should output the following, sorted by descending frequency:
the 4
is 3
sunny 2
day 1

简单点就是说给你一个文件,里面是又空格【可以有多个】分割好的单词【都是小写】,请统计一下不同单词的个数,并降序输出。

 

将单词记录到数组中,之后遍历输出,使用sort排序,指定第2列按数字降序,即可。

答案:

awk {for(i=1;i<=NF;i++) num[$i]++;} END{ for(k in num) print k" "num[k]}  words.txt|sort -rnk 2

 

使用sort排序,指定哪一列使用-k,后面跟数字,按数字进行排序,使用-n,降序排列使用-r。

 

以上是关于Shell练习 统计单词个数,降序排列的主要内容,如果未能解决你的问题,请参考以下文章

shell做升序或者降序排列十位随机数

Hadoop——练习1(统计单词个数)

任意一个英文的纯文本文件,统计其中的单词出现的个数(shell python 两种语言实现)

shell脚本统计文件中单词的个数

go语言小练习——给定英语文章统计单词数量

统计一段文章的单词频率,取出频率最高的5个单词和个数(python)