我目前需要一种以编程方式从我正在处理的Makefile中删除一些文本的方法。现在的问题是(无论出于何种原因)使用-l<full_path_to_library>/<library_name>
生成的链接命令生成makefile时,应使用-l<library_name>
生成它们。所以我需要的是一个脚本来查找所有出现的-l/
,然后移除并包括下一个/
。
我正在处理的例子
-l /家庭/用户/路径/到/升压/ LIB / boost_filesystem
我需要它
-lboost_filesystem
可以想象这是一个停止间隙测量,直到我解决了真正的问题(在发电方面),但与此同时,如果这可行的话对我来说将是一个很大的帮助,我对我的awk不太好和sed。
感谢您的帮助。
答案 0 :(得分:4)
sed -i 's|-l[^ ]*/\([^/ ]*\)|-l\1|g' Makefile
答案 1 :(得分:1)
你去吧
echo "-l/home/user/path/to/boost/lib/boost_filesystem" | awk -F"/" '{ print $1 $NF } '