2015-08-11 2 views
0

Мне нужно выполнить некоторую замену пути в Makefile. Например, у меня есть этот путьИспользуйте регулярное выражение для анализа пути в Makefile

р: = некоторый/путь/к/файлу

Я хотел бы сделать замену «р», чтобы получить эту

../. ./../file

Другими словами, я хотел бы заменить путь на относительный путь. Как я могу использовать регулярное выражение для этого в Makefile? Приветствуются любые комментарии. Благодаря!

+0

Не могли бы вы не использовать что-то вдоль линий 'р: = ../../../$(notdir $ (р)) '? – IKavanagh

+0

@ Kavanai4 no. Уровень пути неопределен. возможно, p = some/other/path/to/file. скажем, ../../../../file – entryprog

+0

Вам нужно заменить текст в пути на «..»? –

ответ

-1

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

Таким образом, вы получите относительный путь. Live demo here.

Для специальных символов вы можете обернуть все в [] и добавить специальные символы, которые вы ожидаете, например, this. Некоторым нужно бежать с \, просто попробуйте на Regex101, чтобы узнать, какие из них. Если у вас также есть цифры в вашем FilePath вам нужно добавить \d в «пул»: demo.

+0

Вы не можете использовать регулярные выражения в 'makefile'. Это не отвечает на вопрос. – IKavanagh

+0

@ Kavanai4 Не makefile текстовый файл, который как таковой может быть отредактирован? Если да, почему вы не можете использовать регулярное выражение для него? – Asunez

+0

@Asunez Спасибо за ваш ответ. Еще один вопрос. Если путь содержит некоторый специальный символ, как мы можем с ним справиться? Например, p = so_me/pa-th/to/file – entryprog

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