среда, 30 ноября 2011 г.

Поиск и замена текста в файлах

Рекурсивный поиск и замена в файлах исключая определённые файлы и каталоги.

В данном примере из поиска исключаются каталоги ".svn" и файлы, попадающие под шаблон "*.log". В остальных найденных файлах производится замена.

#!/bin/sh
oldstr='oldtext'
newstr='newtext'

for fileName in `grep -rl --exclude=*.log --exclude-dir=.svn $oldstr .`;
do
sed -i 's/'$oldstr'/'$newstr'/g' $fileName
done;

Комментариев нет:

Отправить комментарий