我有一个简单的JSON文件,
{
...
"version": "2.1.0",
"buildNumber": 83
}
我想简单地在文件中将buildNumber加1。其余内容应保持不变。
到目前为止,我想出了什么。
jq -e '.buildNumber + 1' 'package.json' > 'package.json.tmp' && cp 'package.json.tmp' 'package.json'
但是在运行脚本之后,我只剩下了package.json文件中的更新值,该文件只有84。其余的内容都消失了。我该如何解决?
答案 0 :(得分:0)
首先,要使用的过滤器是:
.buildNumber += 1
第二,正如您显然意识到的那样,使用>覆盖文件是不明智的。考虑是否可以接受的一种选择是使用coreutil的sponge
。另一个方法是先重命名输入文件。
答案 1 :(得分:-1)
我只是将两个命令放在下面两行,并且按我的意愿工作了。
jq '.buildNumber += 1' 'package.json' > 'package.json.tmp'
cp 'package.json.tmp' 'package.json'