Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы 10-18.docx
Скачиваний:
3
Добавлен:
27.09.2019
Размер:
33.13 Кб
Скачать

Вопрос 16

Потоковый редактор sed. Основные команды и примеры использования.

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

Команда имеет формат:

sed [ -n ] [ -e script ] [ -f sfile ] [ files ]

Команда копирует файлы (по умолчанию со стандартного входа) на стандартный выход, редактирует их в соответствии со своими(!) командами, размещенными в "script" (в командном файле или строке редактора [а не shell!]). По флагу "-f" берет берет файл команд из файла "sfile"; Если есть только опция "-e script", то флаг "-e" можно опустить. Флаг "-n" подавляет вывод (происходящий по умолчанию). "script" состоит из команд редактирования, по одной в строке, имеющих формат:

[ addr [ , addr ] ] cmd [ args ]

"sed" циклически преобразует входные строки в выходные.

Основные команды

[адрес] a текст - добавить новую строку с текстом после указанной строки

[адрес [, адрес]] c текст - Удаляет выбранные строки и заменяет их на текст

[адрес [, адрес]] d - Удаляет указанные строки

[адрес] i текст - Вставить текст на место указанной строки

[адрес] q - выход из sed

[адрес [, адрес]] r файл - Читает файл и выдает его содержание на выход.

[адрес [, адрес]] s/регулярное_выражение/замена/флаги - Заменяет регулярное_выражение назамена-у с учётом флагов:

  • g - во всей строке

  • i - без учёта регистра

  • p - выводить результат замены

Вопрос 17

Потоковый редактор sed. Использование круглых скобок.

В рот топтал эти скобки. Нет о них ничего в инете.

Вопрос 18

Принцип работы этой программы сходен с принципом работы программы sed, но синтаксически она ближе к языку программирования Си, чем к текстовому редактору. Способ задания команды такой же, как и для sed:

$ awk 'программа' имена_файлов...

но программа другая:

шаблон {действие}

шаблон {действие}

Программа awk читает входной поток по одной строке из указанных файлов. Строки сопоставляются с шаблонами по порядку; для каждого шаблона, соответствующего строке, выполняется необходимое действие. Как и в редакторе sed, входные файлы здесь не изменяются.

В программе awk каждая входная строка автоматически разбивается на поля, т. е. последовательности символов без пробелов, разделенные пробелами и символами табуляции