【发布时间】:2011-02-22 05:23:34
【问题描述】:
我目前需要一种以编程方式从我正在处理的 Makefile 中删除一些文本的方法。现在的问题是(无论出于何种原因)makefile 是使用-l<full_path_to_library>/<library_name> 的链接命令生成的,而它们应该使用-l<library_name> 生成。所以我需要一个脚本来查找所有出现的-l/,然后删除直到并包括下一个/。
我正在处理的示例
-l/home/user/path/to/boost/lib/boost_filesystem
我需要它
-lboost_filesystem
可以想象,这是一种权宜之计,直到我解决了真正的问题(在一代方面),但与此同时,如果这能奏效,我对我的 awk 不太擅长和 sed。
感谢您的帮助。
【问题讨论】:
-
您没有解决为什么构建系统首先生成搞砸的makefile的问题有什么特别的原因吗?
-
如问题中所述,这是一个权宜之计的解决方案。我目前正在运行构建系统的非官方补丁,该补丁具有我需要的某些功能,不幸的是它正在生成具有所述问题的 makefile。我绝对打算(并且很快)通过正确集成新功能来解决这个问题,但同时我希望能够编译我的应用程序,经过几天的设置,现在我可以;)
标签: text scripting sed makefile awk