【发布时间】:2020-04-24 06:36:25
【问题描述】:
在我的project.pro 文件中,我有:
DEFINES += VERSION=\\\"1.13.1\\\"
我想用 Bash 脚本中的新版本号替换当前版本号:
VERSION_MAJOR=1
VERSION_MINOR=14
VERSION_PATCH=1
sed -i "s/\([0-9]+.[0-9]+.[0-9]+\)/\1${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}/" project.pro
为什么这不起作用?
到目前为止,我已经设法要么根本没有匹配到,要么得到一些奇怪的 replace-only-the-last-number 替换。
【问题讨论】:
-
这里为什么需要\\\?
-
这是一些 Qt 项目文件垃圾,以便将值作为字符串正确传递给编译器。编译器必须得到
-DVERSION=\"1.13.1\"。