6

Мне нужна программа для подсчета количества слов и количества вхождений каждого слова в файле.

(Большинство примеров, которые я нашел, учитывают только общее количество слов.)

7 ответов7

16

Если с помощью командной строки (или сценария) все в порядке, то есть миллион вариантов. Например, с помощью Perl (для Windows вам нужно установить ActivePerl или Cygwin с Perl):

perl -0777 -lape's/\s+/\n/g' FILENAME | sort | uniq -c | sort -nr

Пояснение:

  • perl -0777 заставляет Perl работать со всем файлом, как если бы он был одной строкой ("режим slurp").
  • 's/\s+/\n/g' заменяет все пробелы на новые строки, таким образом: вывод Perl - одно слово в строке.
  • Команда sort сортирует слова по алфавиту.
  • Команда uniq удаляет повторяющиеся слова; с опцией -c также печатает количество вхождений.
  • Вторая команда sort с параметром -nr сортирует полученный файл по номерам в порядке убывания.
6

Бесплатный онлайн-сервис Wordcounter ранжирует наиболее часто используемые слова в любом тексте. Используйте это, чтобы увидеть, какие слова вы злоупотребляете или, возможно, просто найти некоторые ключевые слова из документа.

5

Это очень легко. Просто используйте следующую команду:

sort file.txt | uniq -c | sort -r

2

Из командной строки Linux:

sed s/' '/\\n/g FILENAME | sort | uniq -c | sort -nr

В Mac OS X, которая использует BSD-версию sed , \n нужна магия:

sed 's/ /\'$'\n/g' FILENAME | sort | uniq -c | sort -nr 
2

Командная строка Linux (Ubuntu):

tr -cs "[:alpha:]" "[\n*]" < file1 | sort | uniq -c | sort -nr > file2
0

И MS Office, и OpenOffice имеют эту функцию. Перейти к инструментам / подсчет слов.

0

Если бы вы использовали Windows, вы могли бы использовать текстовый процессор Atlantis . У него множество отличных маленьких функций и штрихов, в том числе один, чтобы подчеркнуть злоупотребление словами.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .