Готовый перевод sed & awk / sed & awk: 1.2 Потоковый редактор

Внимание! Этот перевод, возможно, ещё не готов, так как модераторы установили для него статус «перевод редактируется»

Потоковый редактор

Sed это "не интерактивный" потоковый редактор. Он потоковый потому, что, как и большинство программ UNIX, с входа поток через программу поподает на прямую в стандартный вывод. (vi, для примера, не потоковый редактор, как и большинство приложений DOS). Данные на вход обычно поступают из файла, но могут поступать и напрямую с клавиатуры.[2] Вывод, по умолчанию, идет на экран терминала, но может быть перенаправлен в файл. Sed работает применяя скрипт для выполнения действий.

[2] Как правило, это не является применимым.

Sed предлагает возможности, которые выглядят как расширения для интерактивного редактирования текста. Для примера, он предлагает поиск-замену объектов, которая может применена глобально к одному файлу или группе файлов. Пока вы используете sed для изменения по условию применяемому в одном файле, Вам покажется очень удобным использовать его для внесения серии изменений в группе файлов. Подумайте о вненсении 20 разных изменений в более чем 100 файлах в минутах, и Вы поймете насколько мощьным sed может быть.

Использование sed подобно написанию простых шелл скриптов(или bat файлов в DOS). Вы указываете серию действий для исполнения в последовательности. Большинство этих действий могут быть выполнены вручную используя vi: замена текста, удаление линий, вставка нового текста, и т.д. Преимущество sed в том, что вы можете указать все инструкции для редактирования в одном месте и затем выполнить за раз из файла. Вам не нужно открывать каждый файл и вносить изменения. Sed фактичекси может быть использован для очень больших файлов, которые редактировать интерактивно будет медленно.

Существует много возможностей для использования sed в курсе создания и поддержания документов, особенного когда документ состоит из отдельных глав, каждая из которых хранится в отдельном файле. Обычно, после проекта документ возвращается с обзора с несколькими замечаниями, которые могут быть применены ко всем файлам. Для примера, в течении кураса документированя програмного проекта, имя программы или компонентов может меняться и вам придется выслед\живать и вносить изменения. С использованием sed это легкий процесс.

Sed может быть использован для достижения согласованности в документе. Вы можете искать разными способами конкретное правило и применять их. Вы можете исользовать sed для вставки набора кодов или символов перед форматированием с помощью troff. Для примера, он может быть использован для замены кавычек на коды ASCII символов для прямых и пробратных двойных цитат("фигурные кавычки" вместо "прямых" ковычек.)

Sed может быть использован как фальтр при редактировании. Другими словами, Вы можете обработать входной файл и отправить его на вывод в другую программу. Для примера, вы можете использовать sed для анализа простого текстового файла и вставки макросов troff перед выдачи результата на выход к troff для форматирования. Он позвонялет редактировать налету, возможно за раз.

Автор или публицист может использовать sed для написания программы для многочисленных преобразований - перевод кодов форматирования из Scribe или TeX файлы в troff, для примера, или преобразования файла PC word, такого как WordStar. Позже мы рассмотрим sed скрипты преобразующие макросы troff в тэгистилей для использования в Ventura Publisher. (Возможно sed можно использовать для перевода программ написанных с синтаксисом одного языка в синтаксис другого языка.) Когда Sun Microsystems впервые представили Xview, они опубликовали преобразовательную программу для преобразования SunVier в Xview и эта программа в большей степени состояла из sed скрипта и преобразовывала имена различных функций.

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

Все простые sed скрипты обычно вызываются прямо из шелла, шелл скриптов которые вызывают sed и так же содержат команды которые sed исполняет. Шелл является простым способом для именования и запуска односложных команд. Пользователи команд могут не знать что используется sed. Одним из примеров такой обертки является скриптовая фраза, которая будет позже показана в книге. Это позволяет Вам искать по шаблону, что может споткнуться на двух линиях. ссылаясь а ограничения grep.

В итоге используя sed:

Для автоматизации редактирования одного или нескольких файлов.

Для упрощения задач по выполнению подобных изменений на нескольких файлах

Для написания программ по преобразованию.

Внимание! Этот перевод, возможно, ещё не готов.
Его статус: перевод редактируется

Переведено на Нотабеноиде
http://notabenoid.org/book/32181/112612

Переводчики: r0mk

Настройки

Готово:

100.00% КП = 1.0