在我的常规命令中需要帮助以进行转义

时间:2019-04-30 16:48:41

标签: sed jenkins-groovy

我需要替换文件中的版本字符串。我的搜索模式是正则表达式 而我的替代品是一个变量。

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

1 个答案:

答案 0 :(得分:0)

我发现我的代码有问题。如果删除括号(),则字符串替换会作为一种魅力。