sed - 在我的 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
解决方案
我发现我的代码有问题。如果我删除括号 (),字符串替换就像一个魅力。
推荐阅读
- r - 为什么我的 dplyr 函数在 R markdown 中不起作用?
- python-3.x - 有没有一种优雅的方法来检查是否设置了一组环境变量?
- highcharts - 使用phantomjs从highchart导出图像
- c# - MongoDB FindAsync 永远不会在等待时返回
- docusignapi - 为什么用户在 4-5 秒内被从 docusign ui 中踢出
- r - 如何为 R 中的函数创建包含行和列的数据框?
- python - 在一个图形上绘制两组圆形数据
- oracle - 优雅的求和方式
- jenkins - Jenkins API - 获取构建的当前管道阶段
- python - Regex matching a set of characters on a given index