www.gnuman.ru

Резюме | Работа | Page Title Eraser | GrayModern2 | Subversion | JavaScript | Полезные мелочи | Ссылки
Путешествия | Фотоальбом (обновилось) | Панорамы | Случайное фото | Блог | Контакты
Как выиграть суд у ГИБДД и вернуть права

Примеры замены подстроки в файлах на perl, sed, awk

1. Замена подстроки в одном файле с помощью sed
$ cat ./file.txt
I have three dogs.

$ sed -e 's/dog/cat/g' ./file.txt
I have three cats.
2. Замена подстроки в одном файле с помощью perl (вариант короче, но нужен perl)
perl -e 's/dog/cat/g' -pi ./filename
3. Замена подстроки в нескольких файлах с помощью простого bash-скрипта
#!/bin/bash

f="cat"
t="dog"

for i in `egrep -r $f ./www | grep -v svn | cut -d ":" -f1`
do
    reg="s/$f/$t/g"
    sed -e $reg $i > ${i}.bak
    mv ${i}.bak $i
    echo $i
done
4. Замена подстроки в нескольких файлах с помощью perl одной командой
egrep -rl "dog" ./ | xargs -i perl -pi -e 's/dog/cat/g' '{}'
5. Замена подстроки в нескольких файлах с помощью awk одной командой (проверял во FreeBSD)
awk '{gsub("cat", "dog", $0); print > FILENAME}' ./*

Правильный CSS! Valid XHTML 1.0 Transitional