Библиотека сайта rus-linux.net
Руководство по Bash для начинающих | ||
---|---|---|
Назад | Глава 5: Потоковый редактор GNU sed | Вперед |
Введение
Что такое sed?
Потоковый редактор Stream EDitor используется для выполнения базовых преобразований в тексте, который считывается из файла или из конвейера. Результат отправляется на стандартный вывод. Синтаксис команды sed не позволяет указать выходной файл, но результат можно сохранить в файле с помощью перенаправления вывода. Редактор не позволяет изменить исходный входной поток.
Редактор sed отличается от других редакторов, таких, как vi и ed, тем, что с его помощью можно фильтровать текст, подаваемый из конвейера. Вам не нужно управлять редактором во время его работы, поэтому редактор sed иногда называется редактором потоковой обработки. Эта особенность позволяет указывать команды редактирования внутри скриптов, что значительно облегчает выполнение повторяющихся задач. Когда в большом количестве файлов требуется выполнить текстовую замену, sed становится хорошим подспорьем.
Команды sed
С помощью программы sed можно выполнять текстовые замены и удаления по образцу, а также можно использовать точно такие же регулярные выражения, что и с командой grep: смотрите раздел "Примеры использования grep".
Команды редактирования аналогичны тем, что используются в редакторе vi:
Таблица 5.1. Команды редактирования sed
Команда | Результат |
a\ | Добавление текста под текущей строкой. |
c\ | Замена текста в текущей строке новым текстом. |
d | Удаление текста. |
i\ | Вставка текста над текущей строкой. |
p | Выдача текста. |
r | Чтение файла. |
s | Поиск и замена текста. |
w | Запись в файл. |
Кроме команд редактирования, вы можете в sed указывать дополнительные параметры. Их обзор приведен в следующей таблице:
Таблица 5.2. Параметры редактора sed
Параметр | Действие |
-e SCRIPT | К набору команд, которые должны быть запущены при обработке входного потока, добавляются команды, указываемые в параметре SCRIPT. |
-f | К набору команд, которые должны быть запущены при обработке входного потока, добавляются команды, находящиеся в файле SCRIPT-FILE. |
-n | Режим молчания (в стандартный выходной поток нечего не выдается — прим.пер.). |
-V | Выдается информация о версии и происходит выход из программы. |
В документации по sed содержится больше информации, здесь мы перечислили только наиболее часто используемые команды и параметры.
Предыдущий раздел: | Оглавление | Следующий раздел: |
Подводим итоги главы 4 | Интерактивное редактирование |