Как я могу найти и затем заменить фрагмент кода, который включает некоторые переменные в TextMate? - PullRequest
0 голосов
/ 18 марта 2009

У меня есть проект, который включает 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 является переменной и отличается в зависимости от папки, в которой оно находится.

Что мне нужно знать, так это выполнить «Найти / Заменить все в проекте», которое автоматически заменяет all текст внутри каждого файла index.php следующим «

».
<?php include_once("http://www.bgarchitect.co.nz/subPage/index.php"); ?>

Последние два часа я пытался выяснить регулярные выражения, чтобы добиться этого, но пока безуспешно. Может быть, это невозможно сделать?

Во всяком случае, я подумал, что задам вопрос здесь в надежде, что на самом деле все гораздо проще, чем я ожидал. Поэтому любая помощь / указатель / подсказки или хитрости очень ценятся.

Спасибо за чтение, Jannis

1 Ответ

1 голос
/ 18 марта 2009

Если я правильно понял, вы хотите заменить слово культура (который является текущим каталогом) словом subPage?

Вы можете сделать это с помощью пакетов TextMate.

Связки> Редактор комплектов> Редактировать команды , затем добавить Новая команда . Добавьте это как команду. Я думаю, что он делает то, что вы хотите. Вы должны установить ввод для команды как Весь документ , а вывод для Заменить документ .

#!/bin/bash

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