PDA

Просмотр полной версии : скрипт заменяющий слова


Encefalit
23.01.2010, 12:33
Здравствуйте ачат :)
В общем нужен скрипт, заменяющий в .php слова "good" на "best".
Файлов очень много, и перебирать долго и нудно.
А всё потому-что, я установил себе на localhost, dle and vb + интегрированно всё.

А хостер разрешил создать базу данных другую, и в общем я незнаю как это всё перенести на хостинг...

winlogon.exe
23.01.2010, 12:38
в файле пхп или в названиях?

Gorev
23.01.2010, 12:39
ctrl+h ???

Encefalit
23.01.2010, 13:07
в файле пхп или в названиях?

в файле .php

Pashkela
23.01.2010, 13:10
grep --devices=skip --binary-files=text -Z -R -l PATTERN [FILE...]
Пропустит файлы устройств, бинарные будет просматривать как текст, а -Z уберёт ":" после имени файла. Всё из мана.

Encefalit
23.01.2010, 13:21
grep --devices=skip --binary-files=text -Z -R -l PATTERN [FILE...]
Пропустит файлы устройств, бинарные будет просматривать как текст, а -Z уберёт ":" после имени файла. Всё из мана.

Простите. Я нуб в этом деле, можете подробнее!?..

grep --devices=skip --binary-files=text -Z -R -l good [best]

вот так в моём случае!?

Pashkela
23.01.2010, 13:58
у тебя линукс?

Encefalit
23.01.2010, 14:21
нет

Deathdreams
23.01.2010, 14:22
$dir = getcwd().DIRECTORY_SEPARATOR; // папка, сейчас указана папка, из которой запускается скрипт.
if ($handle = opendir($dir)) {
echo "Directory handle: $handle <br />";
echo "Stream: <br />";


while (false !== ($file = readdir($handle))) {
$array = explode(".", $file);
$ext = end($array);
if( ( $file !== '.' || $file !== '..' ) && $ext == "php" ) {
if(rename($dir.$file, $dir.str_replace("good", "best", $file)) echo "$file successfully renamed";
}
}

echo "<br /> ---------- <br /> All Files: <br />";
while ($file = readdir($handle)) {
if( $file !== '.' || $file !== '..' ) {
echo "$file<br>";
}
}

closedir($handle);
}



Не пробовал.

Pashkela
23.01.2010, 14:25
#!/bin/sh
for i in `find /home/асболютный_путь/папка -name "*.php" -exec grep -H "good" {} \; | awk -F":" '{print $1}' | xargs`; do sed -i 's/good/best/g' $i; done


для линукс, только что проверил, может пригодится