Перейти к тексту

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

При первом входе в developerWorks для Вас будет создан профиль. Выберите информацию отображаемую в Вашем профиле — скрыть или отобразить поля можно в любой момент.

Вся введенная информация защищена.

  • Закрыть [x]

При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

Вся введенная информация защищена.

  • Закрыть [x]

Мощные текстовые редакторы UNIX

Новые утилиты Open Source реализуют функции классического редактора UNIX Writer's Workbench

Михаэль Штутц, писатель, консультант
Михаэль Штутц (Michael Stutz) - автор книги The Linux Cookbook, которую он создал и набрал на компьютере с использованием только программного обеспечения с открытым исходным кодом. Его интересы в работе включают также цифровую публикацию и будущее его книги. Он использует различные версии операционной системы UNIX вот уже 20 лет. Вы можете написать ему на адрес stutz@dsl.org.

Описание:  В прошлом в UNIX® широко использовался фирменный пакет программ Writer's Workbench (WWB). Разработчики, администраторы и технические писатели, которые привыкли использовать его, высоко ценили WWB, сделавший рабочие станции UNIX наиболее предпочтительной средой для редактирования и корректирования документов. Сегодня существует много аналогов этого классического инструмента для UNIX, кроме того есть программные средства с открытым исходным кодом, эквивалентные основным утилитам WWB. В статье на примере создания утилиты для проверки соблюдения стилей показывается, как можно пользоваться этими инструментами.

Дата:  12.02.2008
Уровень сложности:  средний

Активность:  4041 просмотров
Комментарии:  

Использование International Ispell

Инструмент spell был простейшей программой для проверки орфографии, которая сравнивала слова из входных данных с главным системным словарным файлом (который представляет из себя отсортированный список слов с правильным написанием). Он выводил все слова из входных данных, для которых не было найдено совпадения в системном словаре.

Программа из WWB spellwwbбыла улучшенной версией spell и при проверке орфографии она использовала словарь пользователя. Инструментарий spelladd из WWB добавлял слова в персональный словарь. В некоторых вариантах UNIX для spell впоследствии была реализована возможность работать со словарем пользователя.

Сегодня для UNIX доступно несколько удобных программ для проверки орфографии. Одна из них - International Ispell - обеспечивает всю функциональность устаревшей уже программы spellwwb и содержит в себе много нового: полноэкранный режим, интерактивная проверка орфографии и поддержку 17 языков. Запустить ее можно при помощи команды ispell; в качестве аргумента к вызову надо добавить имя открываемого файла. Хотя сейчас есть и более новые утилиты для проверки орфографии, International Ispell - хорошо проверенное на практике приложение, с активной поддержкой и доступное в большинстве реализаций UNIX.

Получение списка орфографических ошибок

Простейший способ использовать ispell - это вызов утилиты GNU spell, которая является оболочкой для ispell, предоставляющей функциональность старого инструментального средства spell из WWB. Итак, ispell читает входные данные и сравнивает каждое слово с системным словарем или любым персональным словарем, а затем выводит все орфографические ошибки (см. листинг 10).


Листинг 10. Использование GNU spell
                    
$ spell
                    hello, world
                    no typing mistakes here
                    asdf
asdf
this is speld wrongg
speld
wrongg
Ctrl-D
$

Для проверки файла на орфографические ошибки при помощи spell просто передайте имя файла как аргумент. Используйте опцию -n для того, чтобы каждая орфографическая ошибка следовала за номером строки в файле, где она была допущена. Испробуйте это на исследуемом тексте, как показано в листинге 11.


Листинг 11. Вывод орфографических ошибок в тексте
                    
$ spell Q1report.txt
Smithwick
earnigns
$ spell -n Q1report.txt
13: Smithwick
19: earnigns
$

Интерактивная проверка орфографии в файле

Также можно использовать ispell для интерактивной проверки орфографии, когда содержимое файла отображается на экране и пользователь может проигнорировать потенциальную ошибку или исправить ее.

Когда ispell найдет слово, отсутствующее в системном словаре, но пользователь уверен, что это слово правильное (например, имя собственное), то можно дать команду ispell проигнорировать это слово здесь и в остальной части файла либо добавить это слово в персональный файл словаря; в таком случае при будущих вхождениях этого слова ispell посчитает его корректным. (Если другие пользователи системы будут использовать ispell, слово будет отмечено как некорректное до тех пор, пока они не добавят его в свои персональные словари.)

Если слово в файле словаря начинается со строчной буквы, то его написание будет считаться правильным, даже если оно пишется с заглавной буквы. Однако если в словаре слово пишется с заглавной буквы, то его написание с прописной будет отмечено как ошибка.

В таблице 2 перечислены различные команды для обработки орфографических ошибок.


Таблица 2. Список опций инструментального средства проверки орфографии International Ispell
КлючОписание
number Заменить орфографическую ошибку словом, соответствующим числу
R word Заменить орфографическую ошибку на слово word
space Игнорировать орфографическую ошибку для данного случая
aИгнорировать орфографическую ошибку для данного случая и до конца работы с Ispell
iИгнорировать орфографическую ошибку и вставить, с преобразованием букв в прописные, это слово в персональный словарь
uИгнорировать слово с орфографической ошибку, и вставить его в персональный словарь без преобразования в прописные буквы.
lИскать слова в словаре
xСохранить изменения и прекратить поиск ошибок
qОтменить проверку орфографии и выйти из программы
!Выйти в оболочку shell
Ctrl-L Перерисовать экран
Ctrl-Z Приостановить Ispell
? Вывести справку

Попробуем пропустить через ispell наш текст:

$ ispell Q1report.roff
                

После запуска этой команды на экране появится следующее сообщение (см. рисунок 4).


Рисунок 4. Проверка орфографии в тексте при помощи International Ispell
Проверка орфографии в тексте при помощи International Ispell

Здесь Ispell нашел и отметил первую орфографическую ошибку, хотя имя Смитвика (Smithwick) написано правильно. И кроме того, это имя будет еще не раз встречаться в документах, поэтому это имя нужно добавить в словарь. Это имя будет добавлено в словарь в написании с заглавной буквы, поэтому если где-нибудь в тексте встретится "smithwick", то это слово будет отмечено как ошибка.

Для сохранения выделенного слова в персональном словаре нужно ввести i, после чего Ispell перейдет к следующей орфографической ошибке - слову earnigns. В большинстве систем в списке правильных предполагаемых слов первым будет earnings, и ему соответствует номер 0 из списка (см. рисунок 5).


Рисунок 5. Предполагаемые варианты правильного написания слова
Предполагаемые варианты правильного написания слова

Введем 0 для выбора правильного слова, например, "earnings". После этого Ispell проверит текст до конца и завершит работу, поскольку больше орфографических ошибок нет.

Ispell проверяет не только простой неформатированный текст: утилита ispell распознает несколько форматов разметки, включая troff-файлы. Для проверки таких файлов предназначена опция -n.

4 из 10 | предыдущая | следующая

Комментарии



static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=AIX и UNIX
ArticleID=288396
TutorialTitle=Мощные текстовые редакторы UNIX
publish-date=02122008
author1-email=stutz@dsl.org
author1-email-cc=

Теги

Help
Используйте форму поиска, чтобы найти любой контент с данным тегом в My developerWorks. Используйте ползунок, чтобы отразить больше или меньше тегов.

КнопкаПопулярные теги отображает самые распространенные теги для данной области контента (например: Java, Linux, WebSphere).

Кнопка Мои теги отображает Ваши теги для данной области контента (например: Java, Linux, WebSphere).

Используйте форму поиска, чтобы найти любой контент с данным тегом в My developerWorks. Кнопка Популярные теги отображает самые распространенные теги для данной области контента (например: Java, Linux, WebSphere). Кнопка Мои теги отображает Ваши теги для данной области контента (например: Java, Linux, WebSphere).