我需要在jenkins 中自动生成package.json,并且真的坚持了下来。
以下sed命令在管道中工作,但它更改了第二个字段,我需要更改第三个字段:
sed -i "/version/s/\\([.]\\)\\(.\\)\\(.*\\)/\\1${BUILD_NUMBER}\\3/" package.json
Run Code Online (Sandbox Code Playgroud)
输出:
"version": "0.222.0"
Run Code Online (Sandbox Code Playgroud)
但是我需要:
"version": "0.0.222"
Run Code Online (Sandbox Code Playgroud)
json输入的一部分:
{
"name": "render",
"version": "0.0.0"
"description": "",
"main": "./dist/index.js",
"bin": {
"render-ne": "./bin/re"
},
Run Code Online (Sandbox Code Playgroud)
谁能提供帮助?
假设字段格式如所呈现的那样(即: "version": "0.0.0"),那么这些反向引用在这里并不是真正必要的。只需在 final 之后s替换文本.:
sed -i '/version/s/[^.]*$/'"${BUILD_NUMBER}\"/" package.json
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3795 次 |
| 最近记录: |