面试题:使用shell统计一个文件里面单词的出现频率

现有文件words.txt内容如下:
Spark Hive Hdfs Spark
Hdfs Spark Hive Yarn
统计该文件每个单词出现的频率(按照词频降序输出):
结果:
Spark 3
Hdfs 2
Hive 2
Yarn 1

答案:

cat words.txt | tr -s ' ' '\n' | uniq -c | sort -r | awk '{print $2" "$1}'

tr -s ' ' '\n':使用'\n'替换' '
uniq -c:检查文件并删除文件中重复出现的行,并在行首显示该行重复出现的次数
sort -r:以相反的顺序来排序
awk '{print $2" "$1}':awk是按照空格切开,后面为输出第二个参数在前,第一个参数在后,以空格隔开

猜你喜欢

转载自blog.csdn.net/s_13J43QKKKAA/article/details/121428897