获取文档中每个单词出现次数的计数/直方图

获取文档中每个单词出现次数的计数/直方图

如何查找文件中每个单词的计数?

我想要文本管道或文档中每个单词的直方图。

我已经能够将文档拆分为单词列表;所以每个单词都换行。如果您可以直接从文本文档中获取它,那么那里的解决方案也很好。

> cat doc.txt 
word
second
third
word
really
> cat doc.txt | ... # then count occurrences of each word \
                      and print in descending order separated by delimiter
word 2
really 1
second 1
third 1

它需要具有一定的效率,因为文件是 1GB 文本,并且无法处理指数时间负载。

答案1

这是一种方法:

$ sort file | uniq -c | sort -nrk1 | awk '{print $2,$1}'
word 2
third 1
second 1
really 1

相关内容