Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab4.doc
Скачиваний:
2
Добавлен:
31.08.2019
Размер:
79.87 Кб
Скачать

3. Методические указания.

Sed - потоковый текстовый редактор

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

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

Таблица 1. Опции.

-f файл

чтение скрипта не из командной строки, а из файла.

-n

подавление печати всех просмотренных sed строк; выводятся только те строки, печать которых определена в командах редактирования.

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

[адрес1[,адрес2]] команда

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

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

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

  • номером строки;

  • шаблоном - регулярным выражением, заключенным в символы "/.../";

  • специальным символом "$", адресующим последнюю строку файла.

Таблица 2. Команды редактирования.

p

вывод адресуемых строк на печать.

=

вывод на печать номеров адресуемых строк.

a

добавление текста после адресуемых строк. Формат команды:

[адрес]a\

текст \

. . .

текст

i

добавление текста перед адресуемыми строками. Формат команды:

[адрес]i\

текст \

. . .

текст

c

замена блока адресуемых строк заданным текстом. Формат команды:

[адрес]c\

текст \

. . .

текст

d

удаление адресуемых строк.

s

замена в адресуемых строках заданного шаблона заданным текстом. Формат команды:

[адрес]s\шаблон\текст[флаги]

Шаблон задается регулярным выражением. В тексте может использоваться метасимвол "&" для обозначения заменяемого текста. Возможные флаги команды s:

p

вывод на печать строк, в которых была произведена замена;

число

замена задаваемого числом вхождения шаблона (по умолчанию заменяется только первое вхождение);

g

замена всех вхождений шаблона в строку;

w файл

вывод измененных строк в файл.

w файл

вывод адресуемых строк в файл.

r файл

чтение текста из файла и вставка его после каждой адресуемой строки.

q

завершение работы при достижении адресуемой строки.

Join - соединение файлов.

join [опции] файл1 файл2

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

Фактически join выполняет операцию реляционного соединения файлов, структурированных как таблицы.

Строка результата начинается с общего поля, затем следуют остальные поля файла1, затем - остальные поля файла1

Файл1 файл2 должны быть отсортированы в возрастающем лексикографическом порядке по полям соединения.

Таблица 3. Опции.

-e строка

заменять пустые поля вывода заданной строкой.

-i

игнорировать регистр при сравнении полей

-j номер_поля

задание номера поля для сравнения, общего для обоих файлов (эквивалентно:-1номер_поля-2номер_поля).

-j1 номер_поля

задание номера поля для сравнения в 1-ом файле (эквивалентно:-1номер_поля)

-j2 номер_поля

задание номера поля для сравнения во 2-ом файле (эквивалентно:-2номер_поля)

-t символ

задание символа- разделителя полей (по умолчанию - пробел)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]