在package.json中使用sed进行凹凸版本

时间:2018-04-02 14:44:45

标签: json sed

我需要在 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"
  },

谁可以帮忙呢?

1 个答案:

答案 0 :(得分:2)

假设字段格式与呈现的一样,("version": "0.0.0"),那么这些back references并不是必需的。最后s之后只需. ubstitute 的文字:

sed  -i '/version/s/[^.]*$/'"${BUILD_NUMBER}\"/" package.json