我需要替换文件中的版本字符串。我的搜索模式是正则表达式,我的替换是一个变量。
String search = "\\d+.\\d+.\\d+-.\\d+"
String replace = "1.0.0-${BUILD_ID}"
MyFile = "foo"
sh ("""
sed -i -r "s/($search/$replace/g)" $MyFile
""")
结果我得到了
+ sed -i -r s/(\d+.\d+.\d+-.\d+/1.0.0-25/g) foo
sed: bad option in substitution expression
我发现我的代码存在问题。如果我删除括号(),则字符串替换将作为魅力。