Гид по технологиям

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

• 5 min read • Linux • Обновлено 24 Nov 2025
Aspell: проверка орфографии в терминале Linux
Aspell: проверка орфографии в терминале Linux

Скриншот интерфейса Aspell в терминале

Быстрые ссылки

  • Что такое 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

Экран установки aspell в терминале (apt)

На 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 чтобы игнорировать все в файле.

Примеры взаимодействия

Aspell предложил замену: смена слова в терминале

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

Aspell выбор варианта с несколькими опциями

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

Aspell подтверждение замены

Aspell быстрое подтверждение первого варианта

После серии нажатий файл обновится, а новые слова будут добавлены в файл пользовательского словаря ~/.aspell..pws (например ~/.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..pws. Это делает добавление терминов персонифицированным — полезно для индивидуальной работы, но для командной работы лучше использовать общий словарь в репозитории.

Сравнение и выбор на практике

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, наладить общий словарь для команды.

Приятного и безопасного правописания!

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро