|
процесс.
Рассмотрим
очень формальную задачу. Допустим, в файле
note сохранен текст записки:
Милая Лена!
Если
жизнь пошла по диагонали, и планы резко изменились (и мы отдаем себе
отчет, как именно), можно открыть файл с этим текстом в текстовом
редакторе, например, vi, и издать команду:
:s/Лена/Ира/g
Текст
(предсказуемо) приобретет вид:
Милая Ира!
Однако,
то же самое действие можно выполнить и "без редактора", а
точнее, без интерактивного редактора, с помощью редактора потокового.
Стандартный потоковый редактор называется sed, и синтакис его
команд схож с синтаксисом командного режима стандартного интерактивного
редактора vi, команда при этом издается непосредственно
из командной строки:
$sed -n 's/Лена/Таня/g' note
Если
у нас подготовлен не один файл, а множество (например, note.1, note.2,
note.3), и нужно внести в них единообразные замены (и ничего не
пропустить, и нигде не ошибиться), мы обойдемся также всего одной командой.
$sed -n 's/Лена/Вера/g' note.*
Если
файлов будет тысяча, а требуемые изменения будут посложнее, нам, скорее
всего, понадобится опять-таки всего одна команда (хотя, возможно,
и потребуется серьезное изучение синтаксиса). Это называется
потоковым редактированием, и оно
интенсивно применяется,
например, для наложения "заплаток" на исходные
тексты программ (однако, как было продемонстрировано, может использоваться
и для обработки текста на естественном языке).
2.6
Автоматизированная обработка текстов
UNIX
был во многом "рожден для обработки текстов"
(прежде всего, это была система для программистов, а программы
-- с чего мы начали сегодняшнюю лекцию -- это тексты).
Набор служебных программ (утилит) современных стандартных ОС продолжает
эту традицию, и в их составе можно найти десятки программ, ориентированных
на работу с текстом. Многие из них (но не все) являются
построчно-ориентированными, то есть текст понимается как последовательность
строк. Подробное обсуждение этих возможностей см. в
"лекции" 6 "Строка длиною в жизнь".
2.7
Ресурсы
Дистрибутив
любой современной стандартной ОС (включая
свободные) содержит все упомянутые программы. Многие из них портированы
(перенесены) и в альтернативные ОС.
Для
Microsoft Windows рекомендуется установка пакета
Cygwin, содержащего утилиты GNU (включая предназначенные для работы
с текстом) и некоторые другие программы (включая редактор vim),
позволяющие организовать стандартную рабочую среду. Следует учесть,
что при работе в версиях MS Windows, основанных на MS-DOS (MS Windows
95/98/Me), у многих программ возникают сложности из-за отсутствия
контроля за правами доступа к файлам и каталогам (версии, основанные
на NT -- MS Windows NT/00/XP, лишены этого |