sed
15 commands
15 shown
Заменить первое вхождение в строке
Заменить первое вхождение 'foo' на 'bar' в каждой строке
sed 's/foo/bar/' file.txt
Заменить все вхождения (глобально)
Заменить все вхождения в строке флагом /g
sed 's/foo/bar/g' file.txt
Изменение файла на месте
Изменить файл на месте (без резервной копии)
sed -i 's/old/new/g' config.cfg
In-place с резервной копией
Редактировать на месте, сохранив оригинал как .bak
sed -i.bak 's/old/new/g' file.txt
Удалить строки по паттерну
Удалить все строки-комментарии начинающиеся с #
sed '/^#/d' config.txt
Удалить пустые строки
Удалить все пустые строки или строки из пробелов
sed '/^[[:space:]]*$/d' file.txt
Вывести конкретные строки
Вывести строки с 10 по 20 (подавить вывод флагом -n)
sed -n '10,20p' file.txt
Вывести строки по паттерну
Вывести только строки содержащие ERROR
sed -n '/ERROR/p' app.log
Вставить строку перед совпадением
Вставить строку-комментарий перед каждой директивой server_name
sed '/^server_name/i # Added by deploy script' nginx.conf
Добавить строку после совпадения
Добавить строку настройки после заголовка [defaults]
sed '/^\[defaults\]/a ansible_python_interpreter=/usr/bin/python3' ansible.cfg
Замена без учёта регистра
Флаг /I в GNU sed для замены без учёта регистра
sed 's/error/ERROR/gI' file.txt
Несколько выражений
Применить несколько замен одной командой
sed -e 's/foo/bar/g' -e 's/baz/qux/g' file.txt
Удалить пробелы по краям
Обрезать пробелы в начале и конце каждой строки
sed 's/^[[:space:]]*//;s/[[:space:]]*$//' file.txt
Замена в диапазоне строк
Применить замену только к строкам с 5 по 15
sed '5,15s/DEBUG/INFO/g' app.log
Извлечь значение из key=value
Вывести значение DB_HOST из .env файла
sed -n 's/^DB_HOST=//p' .env
no commands match