我需要在 jenkins 中自动生成 package.json,并坚持下去。
以下 sed
命令在管道中工作,但它更改了第二个字段,我需要更改第三个:
sed -i "/version/s/\\([.]\\)\\(.\\)\\(.*\\)/\\1${BUILD_NUMBER}\\3/" package.json
输出:
"version": "0.222.0"
但我需要:
"version": "0.0.222"
json 输入的一部分:
{
"name": "render",
"version": "0.0.0"
"description": "",
"main": "./dist/index.js",
"bin": {
"render-ne": "./bin/re"
},
谁能帮忙?
最佳答案
假设字段格式如前所述,(即:“version”:“0.0.0”
),那么back references这里真的没有必要。只需s
替换最后的之后的文字。
:
sed -i '/version/s/[^.]*$/'"${BUILD_NUMBER}\"/" package.json
关于json - package.json 中带有 sed 的 Bump 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49613408/