sed - потоковый (для потока данных) текстовый редактор

Опубликовано пользователем Бессонов Л.В. 13.11.2009г.

СИНТАКСИС

sed [опции] ['скрипт_sed'] [файл...]

ОПИСАНИЕ

Утилита sed производит редактирование текстовых файлов в соответствии с операторами редактирования, заданными в скрипте_sed в командной строке или в файле. Если не указано ни одного файла , используется стандартный ввод. Результат работы sed направляется в выходной поток, если иное не задано в операторах редактирования.

ОПЦИИ

-n подавление печати всех просмотренных sed строк; выводятся только те строки, печать которых определена в командах редактирования.
-f файл чтение скрипта не из командной строки, а из файла.

ОПЕРАТОРЫ РЕДАКТИРОВАНИЯ

Операторы редактирования имеют формат:

[адрес1[,адрес2]] команда [адрес1[,адрес2]] { команда1, ... командаN }

Адрес определяет строки, к которым применяется команда или команды. Если заданы и первый, и второй адреса, то команда применяется к строкам от первого до второго адреса включительно. Если задан только первый адрес, то команда применяется к строкам, определяемым этим адресом. Если адреса не заданы, то команда применяется ко всем строкам файла.

Адрес может задаваться:

  • номером строки;
  • шаблоном - регулярным выражением, заключенным в символы "/.../";
  • специальным символом "$", адресующим последнюю строку файла.

Команды редактирования

вывод адресуемых строк на печать.
вывод на печать номеров адресуемых строк.
добавление текста после адресуемых строк. Формат команды:
  1. [адрес]a\
  2. текст \
  3. . . .
  4. текст
i добавление текста перед адресуемыми строками. Формат команды:
  1. [адрес]i\
  2. текст \
  3. . . .
  4. текст
c замена блока адресуемых строк заданным текстом. Формат команды:
  1. [адрес]c\
  2. текст \
  3. . . .
  4. текст
d удаление адресуемых строк.
s замена в адресуемых строках заданного шаблона заданным текстом. Формат команды:
  1. [адрес]s\шаблон\текст[флаги]
Шаблон задается регулярным выражением
В тексте может использоваться метасимвол "&" для обозначения заменяемого текста.
Возможные флаги команды s:
     p  вывод на печать строк, в которых была произведена замена;
    число замена задаваемого числом вхождения шаблона (по умолчанию заменяется только первое вхождение);
    g замена всех вхождений шаблона в строку;
    w файл  вывод измененных строк в файл.
w файл вывод адресуемых строк в файл.
r файл чтение текста из файла и вставка его после каждой адресуемой строки.
q завершение работы при достижении адресуемой строки.

Баннер SGU.RU