sed & awk / sed & awk: 1.2 Потоковый редактор
| Английский оригинал | Перевод на русский | |
|---|---|---|
Сожалеем, но текст оригинала доступен только зарегистрированным пользователям. |
Потоковый редактор r0mk 04.09.12 в 11:40 |
|
|
Sed это "не интерактивный" потоковый редактор. Он потоковый потому, что, как и большинство программ UNIX, с входа поток через программу поподает на прямую в стандартный вывод. (vi, для примера, не потоковый редактор, как и большинство приложений DOS). Данные на вход обычно поступают из файла, но могут поступать и напрямую с клавиатуры.[2] Вывод, по умолчанию, идет на экран терминала, но может быть перенаправлен в файл. Sed работает применяя скрипт для выполнения действий. r0mk 04.09.12 в 11:48 |
||
|
[2] Как правило, это не является применимым. r0mk 04.09.12 в 11:49 |
||
|
Sed предлагает возможности, которые выглядят как расширения для интерактивного редактирования текста. Для примера, он предлагает поиск-замену объектов, которая может применена глобально к одному файлу или группе файлов. Пока вы используете sed для изменения по условию применяемому в одном файле, Вам покажется очень удобным использовать его для внесения серии изменений в группе файлов. Подумайте о вненсении 20 разных изменений в более чем 100 файлах в минутах, и Вы поймете насколько мощьным sed может быть. r0mk 05.09.12 в 05:42 |
||
|
Использование sed подобно написанию простых шелл скриптов(или bat файлов в DOS). Вы указываете серию действий для исполнения в последовательности. Большинство этих действий могут быть выполнены вручную используя vi: замена текста, удаление линий, вставка нового текста, и т.д. Преимущество sed в том, что вы можете указать все инструкции для редактирования в одном месте и затем выполнить за раз из файла. Вам не нужно открывать каждый файл и вносить изменения. Sed фактичекси может быть использован для очень больших файлов, которые редактировать интерактивно будет медленно. r0mk 07.09.12 в 11:34 |
||
|
Существует много возможностей для использования sed в курсе создания и поддержания документов, особенного когда документ состоит из отдельных глав, каждая из которых хранится в отдельном файле. Обычно, после проекта документ возвращается с обзора с несколькими замечаниями, которые могут быть применены ко всем файлам. Для примера, в течении кураса документированя програмного проекта, имя программы или компонентов может меняться и вам придется выслед\живать и вносить изменения. С использованием sed это легкий процесс. r0mk 11.09.12 в 04:57 |
||
|
Sed может быть использован для достижения согласованности в документе. Вы можете искать разными способами конкретное правило и применять их. Вы можете исользовать sed для вставки набора кодов или символов перед форматированием с помощью troff. Для примера, он может быть использован для замены кавычек на коды ASCII символов для прямых и пробратных двойных цитат("фигурные кавычки" вместо "прямых" ковычек.) r0mk 11.09.12 в 05:07 |
||
|
Sed может быть использован как фальтр при редактировании. Другими словами, Вы можете обработать входной файл и отправить его на вывод в другую программу. Для примера, вы можете использовать sed для анализа простого текстового файла и вставки макросов troff перед выдачи результата на выход к troff для форматирования. Он позвонялет редактировать налету, возможно за раз. r0mk 11.09.12 в 05:45 |
||
|
Автор или публицист может использовать sed для написания программы для многочисленных преобразований - перевод кодов форматирования из Scribe или TeX файлы в troff, для примера, или преобразования файла PC word, такого как WordStar. Позже мы рассмотрим sed скрипты преобразующие макросы troff в тэгистилей для использования в Ventura Publisher. (Возможно sed можно использовать для перевода программ написанных с синтаксисом одного языка в синтаксис другого языка.) Когда Sun Microsystems впервые представили Xview, они опубликовали преобразовательную программу для преобразования SunVier в Xview и эта программа в большей степени состояла из sed скрипта и преобразовывала имена различных функций. r0mk 11.09.12 в 06:39 |
||
|
Sed имеет несколько рудиментов программирования, которые могут быть использованы для написания более сложных скриптов. Он так же имеет ограничения в работе - по одной строке за раз. r0mk 11.09.12 в 05:48 |
||
|
Все простые sed скрипты обычно вызываются прямо из шелла, шелл скриптов которые вызывают sed и так же содержат команды которые sed исполняет. Шелл является простым способом для именования и запуска односложных команд. Пользователи команд могут не знать что используется sed. Одним из примеров такой обертки является скриптовая фраза, которая будет позже показана в книге. Это позволяет Вам искать по шаблону, что может споткнуться на двух линиях. ссылаясь а ограничения grep. r0mk 11.09.12 в 06:55 |
||
|
В итоге используя sed: r0mk 11.09.12 в 06:56 |
||
|
Для автоматизации редактирования одного или нескольких файлов. r0mk 11.09.12 в 07:05 |
||
|
Для упрощения задач по выполнению подобных изменений на нескольких файлах r0mk 11.09.12 в 07:06 |
||
|
Для написания программ по преобразованию. r0mk 11.09.12 в 07:07 |
