Aspell — проверка орфографии из командной строки Linux

Быстрые ссылки
Что такое Aspell?
Установка Aspell
Проверяем орфографию
Вывод и производительность
Что такое Aspell?
GNU Aspell — это открытый и бесплатный проверщик орфографии. Он работает в командной строке и поддерживает разные словари и режимы. Aspell полезен для тех, кто пишет в текстовых редакторах, автоматизирует проверку файлов в CI или хочет быстро просматривать документы без графического интерфейса.
Определение в 1 строке: Aspell — консольный инструмент для проверки орфографии с поддержкой пользовательского словаря.
Важно: Aspell — не инструмент для грамматики или стиля. Для грамматики лучше подходят LanguageTool или аналогичные сервисы.
Установка Aspell
На Debian/Ubuntu/Mint:
sudo apt install aspellЕсли пакет словаря для английского (aspell-en) не установился автоматически, добавьте его:
sudo apt install aspell aspell-en
На RHEL/CentOS/Fedora:
sudo yum install aspellВ современных Fedora можно использовать dnf:
sudo dnf install aspellДля других языков установите соответствующий пакет, например aspell-de для немецкого, aspell-ru для русского (если доступен в репозитории).
Замечание: в некоторых дистрибутивах пакеты словарей располагаются в отдельных пакетах с префиксом aspell-<код_языка>.
Проверяем орфографию
Создайте простой файл с опечатками, например test_spelling.txt, затем запустите:
aspell --master=en_US --lang=en_US -c test_spelling.txtОбъяснение опций:
-c— интерактивная корректировка одного файла.--masterи--langуказывают предпочтительный словарь; используются для точного выбора варианта.--mode=markdownделает Aspell «осведомлённым» о Markdown и снижает ложные срабатывания.
Пример использования режима Markdown (рекомендуется при проверке README, блогов и документов в MD):
aspell --mode=markdown -c README.mdЧто происходит в интерактивном режиме: Aspell выделит найденные слова и предложит варианты. Нажмите цифру с вариантом, a чтобы добавить слово в пользовательский словарь, r чтобы ввести замену вручную, i чтобы игнорировать одно вхождение или I чтобы игнорировать все в файле.
Примеры взаимодействия

На скриншоте показан список предложений; клавиша 1 заменяет слово на первый вариант.

Для сложных случаев можно ввести выбор 3, чтобы применить третий вариант.


После серии нажатий файл обновится, а новые слова будут добавлены в файл пользовательского словаря ~/.aspell. (например ~/.aspell.en.pws).
Практические советы и приемы
- Всегда делайте резервную копию файла перед массовыми заменами.
- Используйте
--mode=markdownдля проверок Markdown-файлов. Это уменьшит ложные срабатывания на ссылках, URL и служебных символах. - Чтобы массово проверить все .md в проекте, используйте find + xargs:
find . -name "*.md" -print0 | xargs -0 -n1 aspell --mode=markdown -c- Проверка через stdin (полезно в скриптах):
aspell list < file.txt | sort -uКоманда вернёт уникальные слова, которые Aspell считает ошибками.
- Интеграция с редакторами: Vim, Emacs и другие редакторы имеют плагины или встроенные интерфейсы для aspell. В Vim, например, можно включить:
:setlocal spell spelllang=en_us(Это использует встроенную систему Vim, но можно настроить вызов aspell из редактора.)
Альтернативы и когда Aspell не подойдёт
- Hunspell — часто используется в браузерах и офисных пакетах; поддерживает сложные словоформы и более гибкие словари.
- Ispell — более старый инструмент, с похожим интерфейсом.
- LanguageTool — для грамматики, стиля и более сложных правил.
Когда Aspell не подходит:
- Нужно проверять грамматику или согласование — используйте LanguageTool.
- Требуются специфичные локализованные словоформы, которых нет в словарях — возможно, Hunspell даст больше гибкости.
Миниметодика внедрения Aspell в рабочий процесс (чек-лист)
- Установить aspell и необходимые словари на CI-хостах.
- Настроить pre-commit hook, который запускает
aspell listдля выбранных файлов. - Добавить
--mode=markdownдля MD-файлов. - Создать общий пользовательский словарь проекта (файл с утверждёнными терминами).
- Документировать процедуру добавления новых терминов в словарь.
Роль‑ориентированные чек‑листы
Для контент-редактора:
- Запустить aspell –mode=markdown -c для готового поста.
- Пропустить технические термины и добавить их в проектный словарь.
Для разработчика:
- Добавить aspell в CI (использовать контейнер с установленным aspell).
- Возвращать ошибку сборки только при критических словах (по соглашению).
Для системного администратора:
- Убедиться, что нужные пакеты словарей установлены в образах.
- Управлять правами на общий словарь проекта.
Критерии приёмки
- Aspell запускается без ошибок на CI-образе.
- Для набора файлов проверка выполняется в интерактивном или пакетном режиме без ложных срабатываний на URL.
- Проектный пользовательский словарь содержит согласованные термины.
Производительность и вывод
Aspell работает быстро и использует мало ресурсов. При проверке отдельных файлов задержка незначительна. Для массовых проверок (тысячи файлов) рекомендуется запускать пакетный режим или проверку списка уникальных слов через aspell list.
Пользовательский словарь хранится в ~/.aspell.. Это делает добавление терминов персонифицированным — полезно для индивидуальной работы, но для командной работы лучше использовать общий словарь в репозитории.
Сравнение и выбор на практике
flowchart TD
A[Нужно только орфография?] -->|Да| B[Aspell]
A -->|Нет| C[Нужна грамматика]
C --> D[LanguageTool]
B --> E[Markdown?]
E -->|Да| B
E -->|Нет| F[Hunspell / ispell]Частые вопросы
Q: Как добавить слово в общий словарь проекта?
A: Создайте файл словаря в проекте, например project.dic, и добавляйте туда слова по соглашению. Настройте скрипт, который при CI объединяет этот файл с локальными словарями или использует его при вызове aspell через параметры окружения.
Q: Поддерживает ли Aspell русский?
A: В некоторых дистрибутивах есть пакеты для русского (aspell-ru). Если в репозитории его нет, посмотрите сторонние словари или используйте Hunspell с русским словарём.
Резюме
Aspell — простой и эффективный инструмент для проверки орфографии из командной строки. Он хорош для одноразовой интерактивной правки, интеграции в редакторы и автоматических проверок в CI. Для задач, выходящих за рамки орфографии (грамматика, стиль), используйте дополнительные инструменты.
Важно: выбирайте инструмент под задачу — Aspell для орфографии, LanguageTool для грамматики, Hunspell когда нужны сложные словоформы.
Ключевые шаги для старта: установить aspell, проверить файл командой aspell --mode=markdown -c file.md, наладить общий словарь для команды.
Приятного и безопасного правописания!
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента