如何搜索然后替换包含TextMate中某些变量的代码片段?

时间:2009-03-18 07:11:23

标签: regex search replace project textmate

我有一个包含49个文件夹的项目,每个文件夹都有一个名为index.php的文件

所有index.php文件都几乎相同,除了一个部分根据其所在的文件夹而发生变化。

<?php include_once("/home/bgarch/public_html/galleryheader.html"); ?>
<?php include_once("/home/bgarch/public_html/culture/loadscripts.html"); ?>

</head>
<body>


<div class="header">
    <?php include_once("/home/bgarch/public_html/header.html"); ?>
</div>

<div class="clear"></div>

<div class="displaywrapper">
    <?php include_once("content.html"); ?>
</div></div>    

<div class="clear"></div>

<?php include_once("/home/bgarch/public_html/footer.html"); ?>

在第二行中,上面写着:“../ culture / ..”单词culture是变量,根据它所在的文件夹而不同。

我需要做的是做一个“在项目中查找/替换所有内容”,自动用以下“

”替换所有每个'index.php'文件中的文本
<?php include_once("http://www.bgarchitect.co.nz/subPage/index.php"); ?>

我花了两个多小时试图找出正则表达式来实现这一目标但到目前为止还没有成功。 也许不可能这样做?

无论如何,我想我会在这里问一个问题,希望它实际上比我预想的要容易得多。所以任何帮助/指针/提示或技巧都非常受欢迎。

感谢阅读, Jannis

1 个答案:

答案 0 :(得分:1)

如果我理解正确,你想用单词subPage替换culture(当前目录)这个词吗?

您可以在TextMate捆绑包的帮助下完成此操作。

Bundles&gt;捆绑编辑器&gt;编辑命令,而不是添加新命令。 将其添加为命令。我认为它做你想要的。您必须将命令的输入设置为整个文档,并将输出设置为替换文档

#!/bin/bash

sed "s/"${TM_DIRECTORY##*/}"/theWordYouWanToReplaceTheDirWith/g" | cat