Скрипт для редактирования страниц на хостинге.

123 4
G
На сайте с 21.04.2010
Offline
161
2588

Нужно поменять код на 30к страницах.

Скачивать себе на комп не вариант, очень долго.

Как быть? Есть такой скрипт в природе?

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

Вбейте в поиск:

Bourne shell

grep

awk

sed

tr

find

cat

Должно хватить.

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

find -type f -name \*.расширение файла -exec sed -i -r 's|что|на что|g' {} \;

OW
На сайте с 01.11.2011
Offline
104
#3
GAGAn:
Нужно поменять код на 30к страницах.
Скачивать себе на комп не вариант, очень долго.
Как быть? Есть такой скрипт в природе?

30к это что:

- 30000 отдельных файлов?

- это что-то генереное отдним единственным скриптом или какой-то CMS?

- что-то находящееся в базе и выводимое скриптом?

- переход на другую CMS

Если это отдельные файлы, то смотря что на что менять. Если однотипная замена, то можно и скрипт сочинить на том же php или в шеле. Если не однотипные то по-любому 30к страниц ручками править надо, не завидую, а то что это будет на серваке или в локале уже не суть важно.

На серваке - заход по ssh, а там mc, но фактически файл все равно будет через локальный комп прогоняться.. На локальный перетащить - закатать в архив tar.gz, а потом один файл и скачать.

exarh
На сайте с 28.03.2010
Offline
503
#4

Пирожки - зло!

Хаканье чужих пирожков - зло вдвойне!

Монетизируй (https://publishers.propellerads.com/#/pub/auth/signUp?ref_id=tnE) свой сайт с выгодой
[Удален]
#5

кулхацкеры

G
На сайте с 21.04.2010
Offline
161
#6

Воу воу воу

Мыслители полегче.

Нужно всего лишь сменить строчку BCR.r_tds = false; на BCR.r_tds = true, в 30к html файлах.

OW
На сайте с 01.11.2011
Offline
104
#7
GAGAn:
Воу воу воу
Мыслители полегче.
Нужно всего лишь сменить строчку BCR.r_tds = false; на BCR.r_tds = true, в 30к html файлах.

Понятно... Скриптик на php или в шеле.

Минут на 5-10 работы

В одной хоть директории или в разных?

Dos3
На сайте с 07.01.2011
Offline
363
#8

без подпапок, залить туда же где и файлы

<?php

set_time_limit(0);

$arr_file = scandir(.);

foreach($arr_file as $val)

{

if(preg_match("#\.html#", $val))

{

$reg1 = "#что заменить#U";

$reg2 = "на что заменить";

$str = file_get_contents($val);

$str = preg_replace($reg1,$reg2,$str);

file_put_contents($val,$str);

}

}

?>

с подпапками

<?php

set_time_limit(0);

$arr_file = scandir(.);

foreach($arr_file as $val){

if($val != "." and $val != ".."){

$arr_file2 = scandir($val);

foreach($arr_file2 as $value)

{

if(preg_match("#\.html#", $value))

{

$reg1 = "#что заменить#U";

$reg2 = "на что заменить";

$str = file_get_contents("$val/$value");

$str = preg_replace($reg1,$reg2,$str);

file_put_contents("$val/$value",$str);

}

}

}

}

?>

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

<?php

set_time_limit(0);

$set = 1;//1 - заменить удалить, 2 - собрать

$out = "out";//папка с файлами

$reg1 = "#<a href=\"/(id[0-9]*)\">#U";//найти

$reg2 = "<a href=\"/$1.html\">";//на что заменить(если нужно)

$arr_file = scandir($out);

foreach($arr_file as $val){

if($val != "." and $val != ".."){

$str = file_get_contents("$out/$val");

if($set===1)

{

$str = preg_replace($reg1,$reg2,$str);

if(!file_exists("result")) mkdir("result");

file_put_contents("result/$val",$str);

}

if($set===2)

{

if(preg_match_all($reg1,$str,$arr_lines))

{

foreach($arr_lines[0] as $val2)

{

file_put_contents("result.txt",$val2."\r\n",FILE_APPEND);

}

}

}

}

}

?>

SG
На сайте с 22.03.2013
Offline
7
#9

Dos3,

сам быдлокодер, но блин табуляцией не пользоваться... я хз что это...

эти 10 строк тупо не читаемы :)

Dos3
На сайте с 07.01.2011
Offline
363
#10

setka_gs, а ты хоть раз вставь код на форум и всё поймёшь )

если встаялть через bb код, то часть скрипта режется

ps я не на столько быдло чтоб в таком виде писать ))))

123 4

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