Перейти на домашнюю страницу

sed, Примеры использования

На основе информации из лекции "Sed и awk — Виктор Ашик"
https://www.youtube.com/watch?v=81r8sD6yDJo

* * *

Использование sed в качестве grep.
Выводим только строки (-n) совпадающие с шаблоном "user"

# sed -n /user/p /etc/passwd


Использование sed в качестве head.
Выполняем выход после вывода 7 строки.

# sed 7q /etc/passwd


Пример замены подстроки в файле.
Указываем режим inplace-редактирования (-i), когда файл редактируется на месте, а его резервная копия снабжается указанным расширением (.orig).
Командой "s" ищем текст в начале строк (^setvariable) и меняем на другой текст (#setvariable).

# sed -i.orig s/^setvariable/#setvariable/ /etc/file.conf


Более изящный вариант замены подстроки в файле.
Сначала ищем совпадения с шаблоном (^setvariable) и уже после этого командой "s" меняем шаблон (^) на другой текст (#).

# sed -i.orig /^setvariable/s/^/#/ /etc/file.conf


Разделителем может служить не только слэш.
Тот же пример, только после команды "s" разделителем служит @

# sed -i.orig /^setvariable/s@^@#@ /etc/file.conf


Пример удаления строк.
Например, для просмотра конфигурационного файла с исключением закомментированных строк.
Выполняем команду "d" для строк, совпадающих с шаблоном (^#).

# sed /^#/d /etc/file.conf


Пример выполнения нескольких действий.
Например, исключаем при выводе не только закомментированные строки, но и пустые.

# sed -e /^#/d -e /^$/d /etc/file.conf

#linux

2017-08-18 23:41:57