18 января 2011 г.

Поиск файлов, содержимого и различные действия с ними

Найти файл c именем file.txt и удалить его
#find . -name file.txt -exec rm \{\} \;
Найти во всех файлах папки сроку содержащую «Email» и сохранить ее в файл email.csv
#find ./ -print0 | xargs -r -0 cat | grep "Email" > email.csv
Рекурсивно ищем содержимое во всех файлах по шабону и заменяем его. Полезно когда сайта заразили вирусом, можно быстро удалить вражеский код со всех страниц сайта.
Меняем во всех php файлах virus на clean:
#find . -name '*.php' -print -exec sed -i 's/virus/clean/g' {} \;
Ну или вот так:
find . -name "*.php" | xargs sed -i "s/вражеский код/./g" 

Меняем во всех html файлах iframe на div, делаем бекап исходного файла:
find . -name '*.html' -print -exec sed -i.bak 's/iframe/div/g' {} \;
Внимание, если в тексте присутствуют спецсимволы, перед ними надо ставить обратный слеш \

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

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