аналог команды 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'
 

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 что и требовалось.