4

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

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

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

normall speling

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

3 ответа3

3

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

cat example.txt | aspell -a

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

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

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

0

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

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


Ispell

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

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

ispell -l <example.txt

Заклинание

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

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

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

aspell list <example.txt

Hunspell

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

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

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

hunspell -l example.txt

очаровывать

Средство проверки правописания Abiword также поддерживает параметр -l :

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

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

enchant -l example.txt

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