Как я могу получить список всех слов с ошибками в тексте, используя Linux?

У меня есть текст, который содержит несколько слов с ошибками. Я хотел бы получить список всех этих слов, поэтому для такого текста:

This is just a normall line with some speling mistakes in it. 

Это вернуло бы:

normall speling

Есть ли способ сделать это, предпочтительно используя инструменты Linux, такие как aspell или vim?

3 ответа

Решение

Ты можешь использовать aspell -a чтобы сделать это, и взять файл из стандартного вывода. Это выведет слово с номером строки и альтернативным написанием:

cat example.txt | aspell -a

Чтобы очистить ваш список лучше, я бы использовал что-то вроде:

cat aspell.txt | aspell -a | cut -d ' ' -f 2 | grep -v '*'

Недавно я хотел сделать это, но я не был особенно доволен принятым ответом, поэтому я исследовал проблему и предложил следующие решения, используя четыре библиотеки / утилиты для орфографии.

Примечание: все цитаты взяты из справочной страницы для этой конкретной утилиты.


Ispell

-l или же list Параметр ispell используется для создания списка слов с ошибками из стандартного ввода.

Перенаправление ввода можно использовать для чтения из файла:

ispell -l <example.txt

Заклинание

Одна из команд Aspell list который, аналогично приведенному выше варианту ispell, используется для

Создайте список слов с ошибками из стандартного ввода.

Это также можно сочетать с перенаправлением ввода:

aspell list <example.txt

Hunspell

Hunspell также реализует -l опция:

Опция "list" используется для создания списка слов с ошибками из стандартного ввода.

Во время эксперимента я заметил, что его также можно использовать с именем файла в качестве аргумента (без необходимости перенаправления ввода):

hunspell -l example.txt

очаровывать

Проверка орфографии Abiword's Enchant также поддерживает -l опция:

Список только орфографические ошибки.

Аналогично, Enchant также принимает имя файла в качестве аргумента (по умолчанию используется стандартный ввод, если ничего не указано):

enchant -l example.txt

Мой плагин SpellCheck имеет :SpellCheck команда, которая заполняет список быстрых исправлений Vim со всеми орфографическими ошибками. Затем вы можете использовать встроенные команды Vim для навигации по этому списку или использовать сопоставления, предоставляемые плагином, для исправления этих ошибок непосредственно из списка.

Другие вопросы по тегам