【问题标题】:Use regex to analyze path in Makefile使用正则表达式分析 Makefile 中的路径
【发布时间】:2015-08-11 09:43:42
【问题描述】:

我需要对 Makefile 中的路径进行一些替换。 比如我有这样的路径

p := some/path/to/file

我想替换“p”来得到这个

../../../文件

换句话说,我想将路径替换为相对路径。如何在 Makefile 中使用正则表达式来做到这一点?任何 cmets 将不胜感激。谢谢!

【问题讨论】:

  • 你能不能不使用类似p := ../../../$(notdir $(p))的东西?
  • @Kavanai4 没有。路径级别是不确定的。也许 p = some/other/path/to/file。比如说../../../../file
  • 是否需要将路径中的文本替换为'..'?

标签: regex makefile filepath


【解决方案1】:

根据您用于编辑的软件/语言,只需将任何以“/”结尾的单词替换为“.../”

这样你会得到你的相对路径。现场演示here.

对于特殊字符,您可以将所有内容包装在 [] 中并添加您期望的特殊字符,例如 this。有些人需要用\ 转义,只需在Regex101 上试一试,找出哪些。 如果文件路径中还有数字,则需要将 \d 添加到“池”中:demo.

【讨论】:

  • 您不能在makefile 中使用正则表达式。这并不能真正回答问题。
  • @Kavanai4 makefile 不是可以编辑的文本文件吗?如果是这样,你为什么不能使用正则表达式呢?
  • @Asunez 感谢您的回答。还有一个问题。如果路径中包含一些特殊的字符,我们该如何处理呢?例如,p = so_me/pa-th/to/file
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-22
  • 2017-06-19
  • 2013-02-12
  • 1970-01-01
  • 1970-01-01
  • 2023-02-08
  • 1970-01-01
相关资源
最近更新 更多