В системах Linux можно использовать ряд помощников по правописанию, включая aspell, enchant-2, look и grep. В вашей системе необходимо установить некоторые команды.
Linux предоставляет всевозможные инструменты для анализа данных и автоматизации, а также может помочь в решении проблемы, с которой все мы время от времени сталкиваемся: правописания! Независимо от того, сталкиваетесь ли вы с написанием отдельного слова во время написания своего еженедельного отчета или вам нужен компьютерный “глаз” для обнаружения любых опечаток перед отправкой делового предложения, возможно, пришло время проверить, как Linux может помочь.
Использование aspell
Вероятно, наиболее часто используемой и мощной из средств проверки орфографии, используемых в системах Linux, является aspell. Программа может быстро просмотреть длинный и сложный текстовый файл и помочь вам исправить все обнаруженные ею опечатки.
Вот простой пример того, как это использовать. Этот пример начинается с использования команды fortune для создания простого текстового файла, а затем выполняется aspell. Тот факт, что нет выходных данных, означает, что команда не обнаружила опечаток, поэтому не начинайте думать, что она игнорирует вас!
$ fortune > myluck; aspell check myluck $
Следующий пример показывает, что вы должны ожидать увидеть, если файл, который вы проверяете, содержит опечатки. Сначала я создам небольшой файл, содержащий одну опечатку.
$ echo "Let's dispose of typose!" > goal
Затем следующая команда проверяет файл на наличие опечаток.
$ aspell check goal
Когда файл содержит орфографическую ошибку, ответ aspell будет включать ряд потенциальных замен для слов с ошибками. Это будет выглядеть примерно так:
Let's dispose of typose! 1) typos 6) Topsy 2) types 7) tapes 3) typo's 8) pose 4) depose 9) type 5) tops 0) type's i) Ignore I) Ignore all r) Replace R) Replace all a) Add l) Add Lower b) Abort x) Exit
Записи 1-0 в выходных данных в 5 верхних строках выше являются потенциальными заменами слова с ошибкой. Обратите внимание, что первая запись в этом случае является наиболее подходящей. Нажмите номер выбранной замены, и aspell сделает все остальное. Чтобы заменить ее чем-то другим, нажмите “r” (заменить), и вам будет предложено выполнить замену.
Вы также можете проигнорировать эту орфографическую ошибку и перейти к следующей, выбрав “i» (Игнорировать) или проигнорировать несколько орфографических ошибок в слове с «I» (игнорировать все). Чтобы заменить все случаи определенной орфографической ошибки (той, которая встречается в файле несколько раз) на то, что вам будет предложено ввести, выберите R (Заменить все). Перечисленные параметры в нижних четырех строках помогают выбрать, что вы хотите сделать.
Если файл содержит несколько опечаток, aspell исправит их по одной за раз. Решите, что следует сделать с первой, и она перейдет ко второй и т.д.
Инструмент aspell получает свой словарь из файла words (/usr/share/dict/words в моей системе). Даже если файл содержит мое имя “Сандра”, оно принимается как OK. Этот файл words содержит хорошую коллекцию имен.
Команда aspell также сохраняет резервную копию (goal.bak в примере выше), если в файл внесены изменения на случай, если вам по какой-либо причине потребуется вернуться к исходному файлу.
Вы также можете использовать aspell для проверки написания группы слов. Введите “aspell -a”, как показано ниже, и вы сможете ввести слово или два и увидеть список предлагаемых замен. Если aspell отвечает звездочкой (*), слово было написано правильно. В противном случае предусмотрены возможные замены. Ниже после орфографической ошибки показаны замены слова “quagmyre”. Слово “existential” написано правильно, поэтому за ним стоит звездочка.
$ aspell -a @(#) International Ispell Version 3.1.20 (but really Aspell 0.60.8) quagmyre & quagmyre 3 0: quagmire, quagmires, quagmire's existential *
Инструмент aspell — это быстрая и простая в использовании проверка орфографии. Он очень упрощает замену большинства опечаток, выбирая близкие совпадения из системного файла words.
Использование enchant-2
Команда enchant-2 — это еще один инструмент, который вы можете использовать для поиска опечаток в ваших файлах.
С помощью опции -l (только список орфографических ошибок) этот инструмент отображает список обнаруженных им опечаток. Вот пример.:
$ enchant-2 -l goal dispoze typoz enchant-2 typoz
Чтобы включить номера строк, добавьте опцию -L, подобную этой:
$ enchant-2 -lL goal 3 dispoze 3 typoz 3 enchant-2 4 typoz
Если вы ожидаете повторяющихся опечаток, вы можете использовать команду, подобную приведенной ниже, чтобы указать, сколько раз каждая опечатка встречается в файле. Обратите внимание, что мы сортируем список опечаток и используем uniq -c для подсчета каждой группы.
$ enchant-2 -l goal | sort | uniq -c 1 dispoze 1 enchant-2 2 typoz
Чтобы перечислить доступные опции, просто введите “enchant-2” вот так:
$ enchant-2 Usage: enchant-2 -a|-l|-h|-v [-L] [-d DICTIONARY] [FILE] -d DICTIONARY use the given dictionary -p FILE use the given personal word list -a list suggestions in ispell pipe mode format -l list only the misspellings -L display line numbers -h display help and exit -v display version information and exit
Обратите внимание, что вы можете использовать личный словарь или альтернативный системный словарь.
С помощью look
Команда look не предназначена для поиска опечаток в ваших файлах, но она поможет вам избежать орфографических ошибок, сопоставив предоставленную вами строку со строками из файла words. В приведенном ниже примере выходные данные передаются команде column, чтобы немного упростить использование выходных данных.
$ look quag | column quag quaggier quaggle quagmired quagmiriest quagga quaggiest quaggy quagmires quagmiry quaggas quagginess quagmire quagmirier quags
Одним из серьезных ограничений является то, что look захватывает только строки, начинающиеся с указанных вами букв. Команда grep не так ограничена.
Использование grep
Команда grep может сопоставлять строки в любом месте слов. В приведенном ниже примере $ гарантирует, что команда grep выбирает только слова, которые заканчиваются на “look”.
$ grep look$ /usr/share/dict/words | column belook inlook look onlook overlook side-look unlook flook klook-klook off-look Outlook plook skylook uplook forelook landlook offlook outlook relook underlook
Было бы найдено 242 слова, если бы я не использовал $, чтобы гарантировать, что команда выше ищет только слова, оканчивающиеся на “look”.
$ grep look /usr/share/dict/words | wc -l 242
Подведение итогов
Linux предоставляет несколько отличных команд, которые помогут вам избежать орфографических ошибок. Некоторые команды, вероятно, потребуется сначала установить в вашей системе.