Quantcast
Channel: Библиотека знаний
Viewing all articles
Browse latest Browse all 1318

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

$
0
0

Sed

Параметры

  • -i - Не обращать внимание на регистр
  • -e - Использовать регулярные выражения

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

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

  • sed -e 's/oldstuff/newstuff/g' inputFileName > outputFileName

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

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

  • sed -i 's/abc/def/' file
  • sed -e 's/abc/def/' file

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

  • echo 123123| sed 's/1/5/g'
  • echo 123123| sed 's%1%5%g'
  • echo 123123| sed 's$1$5$g'
  • echo 123123| sed 's|1|5|g'

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

$ 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/// что-то сделала - переходим на метку.

Ссылки


Viewing all articles
Browse latest Browse all 1318