2010-02-28 4 views
1

Я загрузил веб-сайт, который я создал, и хочу найти доменное имя и заменить его новым, без необходимости открывать каждый файл.замена строки во многих файлах .php

Я использую EditPlus

Есть ли редактор, который может сделать это, или вы знаете, как сделать это в окнах или EditPlus?

ТНХ

+1

Ну, по крайней мере, вы научились не жестко кодировать домен снова и снова. – Kobi

+2

Как следует из @Kobi, было бы разумно заменить доменное имя на переменную. –

+0

обычно я бы использовал переменную, но я никогда не думал, что сделаю «точную» копию в другом домене. – daniel

ответ

2

Я предлагаю Notepad++. Он имеет поиск и замену в одном файле, всех открытых файлах или всех файлах в каталоге.

0

Худший сценарий, вы можете пойти на пробную версию чего-то вроде Dreamweaver.

Это, я считаю, что Notepad++ способен на это.

0

Я думал, что у EditPlus есть кнопка «перейти к следующему файлу».

Так Открыть все файлы нажмите Ctrl + F находка: OldDomain заменяющие: NewDomain

"Заменить все" кнопку и "перейти к следующему файлу" кнопку.

0

Вы можете также использовать Eclipse, или Aptana сделать это

1

Вы можете сделать это в PowerShell.

$textToRemove = New-Object System.Text.RegularExpressions.Regex "SOMEREGEX", SingleLine 

Get-Item "*.php" | ForEach-Object { 
    $backupfile = [System.IO.File]::Copy($_.FullName,"NEWPATH") 
    $text = [System.IO.File]::ReadAllText($_.FullName) 
    $text = $textToRemove.Replace($text, "REPLACEWITHTHIS") 
    $newFile = [System.IO.File]::OpenWrite($_.FullName) 
    $newFile.Write($text); 
    $newFile.Close() 
} 

Вышеупомянутый непроверенный код. Powershell - ваш друг для автоматизации таких задач.

+0

Если вы собираетесь использовать оболочку: perl -i -pe 's/word/replace/g' *. php – rjh

+0

Конечно, если у него установлен perl. Он сказал, что он на окнах. И, если вы собираетесь использовать оболочку, вы можете сделать это в sed более переносимым способом, чем «найти». -type f -name * .php -print | xargs sed -i.BAK 's/word/replace/g'', и это будет возвращено в структуру dir. –

+0

find/xargs не совсем портативен, если у вас нет Cygwin. Я упомянул Perl, потому что он также может быть установлен как PowerShell, если не более. – rjh

Смежные вопросы