Содержание

, ,

Sed

Параметры

Документация

Замена в файле

Нельзя указывать одинаковый исходящий и принимающий файл. Врезультате его длина будет = 0

Замена без временного файла

Замена в потоке

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

$ sed "s/mytext/$var/"
$ sed 's/mytext/'$var'/' 
$ sed 's/mytext/'$var\/
$ sed 's/mytext/'$var/
$ sed s/mytext/$var/

Как рекурсивно измененить apple на orange в файлах текущей директории?

$ find ./ -type f -exec sed -i -e 's/apple/orange/g' {} \;
# ./ - текущая директория, sed -i -e - не учитывать регистр и использовать regexp при поиске

Как убрать переносы строк?

  $ sed ':a; /$/N; s/\n//; ta'
  # 1) метка 2) добавляем к текущей строке сдедующую (через \n) 3) удаляем разделитель 3) если команда s/// что-то сделала - переходим на метку.

Ссылки