sed
это потоковый редактор в Linux, который используется для выполнения базовых преобразований текста во входном потоке (файле или входном сигнале конвейера). В этом руководстве приведены примеры использования sed
команда.
Синтаксис
Основной синтаксис sed
следующий:
$ sed [options] 'command' file
options
: необязательные флаги для изменения поведения командыsed
команды.command
: преобразование текста, которое необходимо выполнить.file
: входной файл для редактирования (или опущен для стандартного ввода).
Базовое использование
Замена текста
Одно из наиболее распространенных применений sed
это замена текста в файле. Для замены строки в файле используется следующий синтаксис:
$ sed 's/old-text/new-text/g' file
[s
указывает на то, что мы используем команду подстановки, old-text
это текст, который нужно заменить, new-text
это текст, на который его нужно заменить, а g
в конце указывает на то, что все вхождения old-text
должны быть заменены (без g
, заменяется только первое вхождение в каждой строке).
Печать определенных строк
$ sed -n '3,5p' file
Это выведет на печать строки с 3 по 5 из файла.[-n
указывает sed
печатать только указанные строки, а не все строки в файле.
Расширенное использование
Использование регулярных выражений
sed
поддерживает основные регулярные выражения, которые можно использовать для поиска и замены текста на основе шаблонов. В следующем примере показано, как использовать регулярное выражение для замены всех вхождений числа в файле:
$ sed 's/[0-9]/X/g' file
Это заменит все вхождения чисел в файле на букву X
.
Удаление строк
Вы можете использовать sed
для удаления определенных строк из файла. Следующий синтаксис удалит строки с 3 по 5:
$ sed '3,5d' file
Вставка строк
Вы также можете вставить новые строки в файл, используя sed
. Следующий синтаксис вставит новую строку после строки 3:
$ sed '3a\This is a new line' file
Добавление текста
Вы можете добавить текст в конец файла, используя sed
. Следующий синтаксис добавит текст This is some text
в конец файла:
$ sed '$a\This is some text' file
Заключение
В этом руководстве мы рассмотрели базовое и расширенное использование sed
в Linux. С помощью этих примеров вы сможете выполнять различные преобразования текста в ваших файлах.