Проверьте орфографические ошибки с помощью средства проверки орфографии GNU Aspell в Linux
Сегодня мы поговорим о GNU Aspell, бесплатной независимой программе проверки орфографии с открытым исходным кодом. Вы можете использовать его как библиотеку или независимую программу проверки орфографии в своих Unix-подобных операционных системах. Aspell предложит возможную замену слов с ошибками в слове/документе. В отличие от других средств проверки правописания, таких как Ispell, Aspell также может легко проверять документы в UTF-8 без использования специального словаря. Он также поддерживает одновременное использование нескольких словарей. В этом кратком руководстве мы увидим, как установить Aspell и как использовать его для проверки орфографических ошибок в данном слове и/или документе.
Установите программу проверки правописания GNU Aspell в Linux.
GNU Aspell доступен в репозиториях по умолчанию большинства дистрибутивов Linux, поэтому установка не составит большого труда.
В Arch Linux и его производных, таких как Antergos, Manjaro Linux, запустите:
sudo pacman -S aspell
В Федоре:
sudo dnf install aspell
В RHEL, CentOS:
sudo yum install epel-release
sudo yum install aspell
В Дебиане, Убунту:
sudo apt-get install aspell
Добавление словарей
По умолчанию в Aspell нет словарей. Чтобы добавить словарь, например английского, достаточно установить этот пакет — aspell-en. Аналогичным образом, чтобы добавить словарь испанского языка, установите пакет aspell-es.
Его также можно найти в репозиториях по умолчанию. Например, чтобы добавить словарь английского языка в Arch Linux, выполните:
sudo pacman -S aspell-en
В Дебиане, Убунту:
sudo apt-get install aspell-en
В Федоре:
sudo dnf install aspell-en
В RHEL/CentOS:
sudo yum install aspell-en
Чтобы добавить словарь испанского языка, используйте следующие команды:
Арка Линукс:
sudo pacman -S aspell-es
Дебиан/Убунту:
sudo apt-get install aspell-es
Федора:
sudo dnf install aspell-es
RHEL/CentOS:
sudo yum install aspell-es
После того, как вы установили все словари, вы можете убедиться, доступны ли необходимые словари, с помощью команды:
$ aspell dicts
en
en-variant_0
en-variant_1
en-variant_2
en-w_accents
en-wo_accents
en_CA
en_CA-variant_0
en_CA-variant_1
en_CA-w_accents
en_CA-wo_accents
en_GB
en_GB-ise
en_GB-ise-w_accents
en_GB-ise-wo_accents
en_GB-ize
en_GB-ize-w_accents
en_GB-ize-wo_accents
en_GB-variant_0
en_GB-variant_1
en_GB-w_accents
en_GB-wo_accents
en_US
en_US-variant_0
en_US-variant_1
en_US-w_accents
en_US-wo_accents
es
Итак, в моей системе установлены два словаря: английский (включая его варианты) и испанский. Теперь давайте посмотрим, как проверить орфографию слова или документа с помощью Aspell.
Проверьте орфографические ошибки с помощью средства проверки орфографии GNU Aspell в словах или документах.
Проверка орфографии отдельных слов
По умолчанию Aspell использует английский язык для проверки правописания.
Давайте проверим написание слова. Для этого введите:
aspell -a
Теперь введите любое слово с ошибкой. Aspell сравнит данное слово со словарями и отобразит возможные предложения по правильному написанию.
@(#) International Ispell Version 3.1.20 (but really Aspell 0.60.6.1)
englsh
& englsh 7 0: English, Englisher, Engels, English's, Englishes, Engels's, encl
Если вы введете правильное слово, оно будет отмечено звездочкой.
$ aspell -a
@(#) International Ispell Version 3.1.20 (but really Aspell 0.60.6.1)
English
*
Чтобы использовать другой язык, например испанский, просто используйте флаг '-l' с кодом языка, как показано ниже:
$ aspell -a -l es
@(#) International Ispell Version 3.1.20 (but really Aspell 0.60.6.1)
Holla
& Holla 30 0: Hola, Halla, Holea, Hollé, Holló, Hulla, Hila, Hollad, Hollar, Hiela, Huella, Olla, Hala, Bolla, Folla, Molla, Polla, Rolla, Solla, Tolla, Halle, Hallo, Hallé, Halló, Helea, Holee, Holeo, Holeé, Holeó, Huela
Здесь "es" — это языковой код испанского языка.
Мы также можем проверить орфографические ошибки в различных вариантах языка. Например, чтобы проверить орфографические ошибки в словаре канадского английского, используйте -d и формат языка (вы можете просмотреть доступные английские варианты с помощью команды «aspell dicts»).
aspell -a -d en_CA
Чтобы выйти из проверки орфографии, введите CTRL+c.
Вы также можете использовать команду «echo» в сочетании с aspell, чтобы проверить наличие орфографических ошибок в слове. Взгляните на следующий пример.
echo englsh | aspell -a
Пример вывода будет:
@(#) International Ispell Version 3.1.20 (but really Aspell 0.60.6.1)
& englsh 7 0: English, Englisher, Engels, English's, Englishes, Engels's, encl
Как видите, Aspell предлагает возможные замены слова «englsh» с ошибкой.
Если вы хотите проверить правописание на другом языке, например испанском, используйте флаг "-l" вместе с кодом языка, как показано ниже.
echo englsh | aspell -a -l es
Чтобы проверить написание слова с ошибкой в словаре канадского английского языка, запустите:
echo englsh | aspell -a -d en_CA
Альтернативно вы можете проверить орфографию слова, как показано ниже.
aspell -a <<< englsh
Или воспользуйтесь этим, если хотите проверить правописание на другом языке.
aspell -a -l es <<< englsh
Проверка правописания в файле
У меня есть файл ostechnix.txt с несколькими строками. Вот содержимое этого файла.
$ cat ostechnix.txt
welcom
englsh
Tamil
Linux
securty
Теперь позвольте мне проверить этот файл на предмет возможных орфографических ошибок.
cat ostechnix.txt | aspell list
Пример вывода:
welcom
englsh
securty
Как видите, Aspell выводит список слов с ошибками из данного файла. Чтобы использовать другой язык, используйте флаг «-l», как показано ниже.
cat ostechnix.txt | aspell list -l es
Чтобы в интерактивном режиме проверить файл на наличие возможных орфографических ошибок, мы можем использовать:
aspell check ostechnix.txt
Вот результат выполнения вышеуказанной команды. Aspell предлагает возможные замены слова с ошибкой. Просто выберите правильные слова, введя соответствующее число из предложенных слов.
Я набираю 1 (номер один):
Как только вы выберете правильное написание, aspell обновит файл правильным словом и автоматически перейдет к другому слову, отобразит предложения и так далее.
Если вы считаете, что выбранные слова написаны правильно, введите 'i', чтобы игнорировать, или введите 'a', чтобы добавить слово в словарь. Это может быть полезно для команд Linux или любых технических слов, которых нет в словарях.
Вы также можете ввести 'r', чтобы заменить выбранное слово своим собственным написанием, и нажать ВВОД, чтобы обновить изменения.
Чтобы добавить нижний регистр для выбранного слова, введите 'l'. После того как вы исправите все слова, вы ничего не увидите в выводе.
Опять же, если вы хотите проверить правописание на другом языке, просто используйте 'l', как я упоминал в предыдущих примерах.
Рекомендуется к прочтению:
- Как использовать функцию проверки орфографии в текстовом редакторе Vim
Добавление словарей вручную
Некоторые словари могут быть недоступны в репозиториях вашего дистрибутива по умолчанию. Например, словарь тамильского языка недоступен в репозиториях Arch Linux по умолчанию. Итак, у меня не было другого выбора, кроме как скомпилировать и установить его из исходного кода, как описано ниже.
Загрузите словарь по вашему выбору здесь.
wget https://ftp.gnu.org/gnu/aspell/dict/ta/aspell6-ta-20040424-1.tar.bz2
Распакуйте скачанный архив:
tar xvf aspell6-ta-20040424-1.tar.bz2
Перейдите в каталог aspell:
cd aspell6-ta-20040424-1/
Скомпилируйте и установите, как показано ниже:
./configure
make
sudo make install
После успешной установки словаря вы увидите только что установленный словарь:
$ aspell dicts
[...]
en_US
en_US-variant_0
en_US-variant_1
en_US-w_accents
en_US-wo_accents
es
ta
Здесь ta — код тамильского языка.
Теперь вы можете проверить правописание с помощью нового словаря, как показано ниже.
echo வணக்கம் | aspell -a -l ta
Чтобы установить другие словари, просто обратитесь к файлу README загруженного словаря.
Для получения более подробной информации посетите официальный сайт, указанный ниже.
- Веб-сайт GNU Aspell