ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Суббота, 21 декабря, 2024

Как найти и исправить орфографические ошибки в Linux

Как найти и исправить орфографические ошибки в Linux

В системах 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 предоставляет несколько отличных команд, которые помогут вам избежать орфографических ошибок. Некоторые команды, вероятно, потребуется сначала установить в вашей системе.

Exit mobile version