json - package.json 中带有 sed 的 Bump 版本

标签 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"
  },

谁能帮忙?

最佳答案

假设字段格式如前所述,(:“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/

相关文章:

c# - 如何在 Windows Phone 8 中解析 Json 数组内的图像?

bash:使用 grep 从字符串之间提取文本

shell - Unix : saving a sed command in a variable, 回显它,然后执行它

linux - 从 csv 文件中删除标题和空行

linux - Bash,如果文件为空,如果不继续则离开脚本

c++ - Gnu Makefile - 处理依赖项

javascript - 给定一个对象,我如何获得用于描述它的名称?

json - Angular JS中json格式的Restangular POST表单数据

jQuery 使用 .text() + JSON 保存字符串并使用 .val() 读取字符串会丢失换行符

JavaScript 对象数组分解为 PHP 数组