аналог команды sed UNIX/Linux для windows
Можно ли использую какой либо редактор/утилиту в windows сделать то что можно сделать в linux командой sed?
Работаю над проектом построенном на зенд, и пробую выполнить их рекомендации и закоментить все require_once.
Сделать это можно таким вызовом.
/** * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann * (http://qbnz.com/highlighter/ and http://geshi.org/) */ .ini.geshi_code {font-family:monospace;} .ini.geshi_code .imp {font-weight: bold; color: red;} .ini.geshi_code .co0 {color: #666666; font-style: italic;} .ini.geshi_code .sy0 {color: #000066; font-weight:bold;} .ini.geshi_code .st0 {color: #933;} .ini.geshi_code .re0 {color: #000066; font-weight:bold;} .ini.geshi_code .re1 {color: #000099;} .ini.geshi_code .re2 {color: #660066;} .ini.geshi_code span.xtra { display:block; }
% cd path/to/ZendFramework/library
% find . -name '*.php' -not -wholename '*/Loader/Autoloader.php'
-not -wholename '*/Application.php' -print0 |
xargs -0 sed --regexp-extended --in-place 's/(require_once)/// 1/g'
Работаю над проектом построенном на зенд, и пробую выполнить их рекомендации и закоментить все require_once.
Сделать это можно таким вызовом.
/** * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann * (http://qbnz.com/highlighter/ and http://geshi.org/) */ .ini.geshi_code {font-family:monospace;} .ini.geshi_code .imp {font-weight: bold; color: red;} .ini.geshi_code .co0 {color: #666666; font-style: italic;} .ini.geshi_code .sy0 {color: #000066; font-weight:bold;} .ini.geshi_code .st0 {color: #933;} .ini.geshi_code .re0 {color: #000066; font-weight:bold;} .ini.geshi_code .re1 {color: #000099;} .ini.geshi_code .re2 {color: #660066;} .ini.geshi_code span.xtra { display:block; }
% cd path/to/ZendFramework/library
% find . -name '*.php' -not -wholename '*/Loader/Autoloader.php'
-not -wholename '*/Application.php' -print0 |
xargs -0 sed --regexp-extended --in-place 's/(require_once)/// 1/g'
1 ответов
Проще всего это сделать в CYGWIN.
Либо использовать Win32-порты Unix-утилит (скорее всего, придется адаптировать команду):
http://gnuwin32.sourceforge.net/packages/findutils.htm
http://gnuwin32.sourceforge.net/packages/sed.htm
Я конечно извиняюсь, но у вас что-то с гуглом случилось?
http://www.google.com/search?q=sed+for+windows
Можно использовать ant. Если для php разработки вы используете Eclipse PDT то ant уже в нем встроен.
Есть два task - replace и replaceRegExp и оба справятся с вашей задачей.
Достаточно сделать новый таргет такого вида
<target name="remove.requires">
<replace dir="/fullPath/To/Zend/Library" token="require_once" value="//require_once">
<exclude name="**/Application.php" />
<exclude name="**/Loader/Autoloader.php" />
</replace>
</target>
Он заменит все require_once на //require_once что и требовалось.