Формат: sed [ -опции ] 's/regex/replace/флаги' путь_к_файлу
Опции:
Флаги:
Вывести определённую строку (пример 276-ую):
sed '276!D'
Обрезать строку до символа «/»:
echo Двоичный файл /opt/zimbra/data/postfix/spool/incoming/72AEB2E09C5 | sed -r 's/^[^/]+//' #/opt/zimbra/data/postfix/spool/incoming/72AEB2E09C5
Обрезать строку после символа пробел:
echo /opt/zimbra/data/postfix/spool/incoming/72AEB2E09C5 совпадает | sed -r 's/(\s+)\S+(.*)/\1/' #/opt/zimbra/data/postfix/spool/incoming/72AEB2E09C5
Добавить символ # в блоке строк, начинающегося со строки «# IPv6 versions» и заканчивающегося строчкой «# Authorization.»:
sed -i "\|# IPv6 versions|,/# Authorization./ s/^/#/" /etc/raddb/sites-enabled/default
Добавить в конце и начале кавычки:
sed "s/.*/\"&\"/"
Добавить строку в начале файла:
sed -i -e '1 s/^/string\n/;' file
Добавить 2 строки в конце файла:
sed -i -e '$a line1\nline2' file
Вывести только совпадение:
sed -n '/ssh/p' file
Удалит все строки начиная с искомой:
sed '/^\s\smiddlewares/,$d' file
Изменить во всех txt файлах сопадение:
find . -name '*.txt' -exec sed -i "s/domain.loc/domain.com/g" {} +