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

FlooPy
На сайте с 09.11.2009
Offline
110
515

хелп как написать скрипт что бы допустим в директории images во всех файлах .html фраза допустим "привет" заменилась на "пока". Как я понимаю легенький скрипт, но все же мне уже 3-й раз помогают тут за последние пару дней, а "спасибо" в карман не положишь. Так что кидайте так же свой кошелек скину 5$ , банально но все же приятно ...

ewg777
На сайте с 04.06.2007
Offline
225
#1

for y in `ls *.html`;
do sed "s/hello/bye/g" $y > temp; mv temp $y;
done
или

perl -pi -w -e 's/hello/bye/g;' *.html
frantic
На сайте с 09.02.2009
Offline
27
#2

Тебе на чем надо? Если на пхп то как то так:

<?php

$path = 'images/';

if ( $handle = opendir($path) ) {

while ( false !== ($file = readdir($handle)) ) {

if ( $file != "." && $file != ".." && preg_match('/\.html$/i', $file) ) {
file_put_contents($path . $file, str_replace('привет', 'пока', file_get_contents($path . $file)));
}

}

closedir($handle);

}
ewg777
На сайте с 04.06.2007
Offline
225
#3

$mask   = 'images/*.html';
$macros = array(
'привет' => 'пока',
);
foreach(glob($mask) as $file) {
$result = strtr(file_get_contents($file), $macros);
file_put_contents($file, $result);
}
Вот на php. Давайте вместе: "Говнокод, уходи!"
FlooPy
На сайте с 09.11.2009
Offline
110
#4

Спасибо вам большое все идеально )

Киньте кошелечек

frantic
На сайте с 09.02.2009
Offline
27
#5
ewg777:
Вот на php

У меня какой то деревенский метод получается. А что скрипт из папки images запускать?

ewg777
На сайте с 04.06.2007
Offline
225
#6
frantic:
У меня какой то деревенский метод получается. А что скрипт из папки images запускать?

Нет необходимости. Обновил.

frantic
На сайте с 09.02.2009
Offline
27
#7
ewg777:
Нет необходимости. Обновил.

Спасибо. Для меня тут многое в диковинку :) Это я на пхп4 значится пишу до сих пор..

ewg777
На сайте с 04.06.2007
Offline
225
#8
frantic:
Спасибо. Для меня тут многое в диковинку :) Это я на пхп4 значится пишу до сих пор..

glob (PHP 4 >= 4.3.0, PHP 5). Подходы различные.

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