Нужен скрипт поиска и замены на сервере

BI
На сайте с 11.04.2014
Offline
37
1056

приветствую. имеется несколько серверов. на каждом по несколько сотен доменов. на доменах папки, файлы, файлы в папках.

серверы свои. т.е. рут доступ имеется.

не знаю на каком языке и по какой технологии нужно писать. собственно не важно. важно следующие функции:

поиск и замена одну строку на другую. все.

как функция можно указывать типы файлов *.html, *.php, *.txt например.

скрипт должен пройтись по всем папкам, подпапкам.

подробности по асе 632403646, или bablodigger@gmail.com. предоплата если профиль на форуме приличный.

Рекомендую! За 366 руб/месяц: VPS 8GB RAM, 200GB SSD, Unlimited traffic, 200 Mbit/s port, Бесплатная поддержка (http://blackinvest.group/%D1%80%D0%B5%D0%BA%D0%BE%D0%BC%D0%B5%D0%BD%D0%B4%D1%83%D1%8E-%D0%B7%D0%B0-366-%D1%80%D1%83%D0%B1-%D0%BC%D0%B5%D1%81%D1%8F%D1%86-vps-8gb-ram-200gb-ssd-unlimited-traffic-200-mbit-s-port/)
Оптимизайка
На сайте с 11.03.2012
Offline
396
#1

find /DIR/WHERE -type f -iname '*.html' -exec sed -r 's/WHAT_TO_REPLACE/REPLACE_TO/g' -i '{}' ';'

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
BI
На сайте с 11.04.2014
Offline
37
#2

Оптимизайка, позвольте купить вам чашку чая (кидайте WMZ кошелек) :)

а вообще, задачу надо изменить. сможете?

скажем надо заменить

http://domain1.com/dir1/file.php?s=

на

http://domain2.com/dir2/file.php?s=

т.е. используются вот такие символы /

я же не могу прописать

find /DIR/WHERE -type f -iname '*.html' -exec sed -r 's/http://domain1.com/dir1/file.php?s=/http://domain2.com/dir2/file.php?s=/g' -i '{}' ';'

DV
На сайте с 01.05.2010
Offline
644
#3

Экранируйте обратным слэшем.

VDS хостинг ( http://clck.ru/0u97l ) Нет нерешаемых задач ( https://searchengines.guru/ru/forum/806725 ) | Перенос сайтов на Drupal 7 с любых CMS. ( https://searchengines.guru/ru/forum/531842/page6#comment_10504844 )
Оптимизайка
На сайте с 11.03.2012
Offline
396
#4

Dear bablo_in, you can use any symbol as regexp divider in sed command, for example:

sed -r 's;WHAT_TO_REPLACE;REPLACE_TO;g'

sed -r 's|WHAT_TO_REPLACE|REPLACE_TO|g'

and so on

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий