如何计算文件中每个单词的出现次数?

ArK*_*ArK 6 ubuntu

我需要一个程序来计算单词的数量以及文件中每个单词的出现次数。

(我发现的大多数示例只计算单词总数。)

Arj*_*jan 16

如果使用命令行(或脚本)没问题,那么有一百万个选项。就像使用 Perl(对于 Windows,您需要使用 Perl 安装ActivePerlCygwin):

perl -0777 -lape's/\s+/\n/g' FILENAME | sort | uniq -c | sort -nr
Run Code Online (Sandbox Code Playgroud)

说明

  • perl -0777 导致 Perl 对整个文件进行操作,就好像它是一行一样(“slurp 模式”)。
  • 's/\s+/\n/g' 将所有空格更改为换行符,因此:Perl 的输出是每行一个单词。
  • sort命令按字母顺序对单词进行排序。
  • uniq命令消除重复词;使用该-c选项,它还打印出现次数。
  • sort带有-nr选项的第二个命令按数字降序对结果文件进行排序。

  • @Sirex,我想你是对的:`cat FILENAME | sed s/' '/\\n/g | 排序 | uniq -c | sort -nr` 可能会给出相同的结果。 (2认同)

小智 6

免费在线服务Wordcounter对任何给定文本正文中最常用的单词进行排名。使用它来查看您过度使用的单词,或者只是为了从文档中查找一些关键字。


小智 5

这很容易。只需使用以下命令:

sort file.txt | uniq -c | sort -r
Run Code Online (Sandbox Code Playgroud)