我需要在 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"
},
谁可以帮忙呢?
答案 0 :(得分:2)
假设字段格式与呈现的一样,(即:"version": "0.0.0"
),那么这些back references并不是必需的。最后s
之后只需.
ubstitute 的文字:
sed -i '/version/s/[^.]*$/'"${BUILD_NUMBER}\"/" package.json