我正在尝试使用 jq 向数组添加一个值并保留其余内容:
"access":{
"allowed_users":[
"admin",
"test",
],
以上是我要附加的内容。如果我使用jq '.access.allowed_users + [ "test2" ]'
它将在那里添加一个新条目,但文件的其余部分会丢失,因此我无法再次重新创建配置文件。
我正在尝试使用 jq 向数组添加一个值并保留其余内容:
"access":{
"allowed_users":[
"admin",
"test",
],
以上是我要附加的内容。如果我使用jq '.access.allowed_users + [ "test2" ]'
它将在那里添加一个新条目,但文件的其余部分会丢失,因此我无法再次重新创建配置文件。
假设您的意思是要附加到您显示的 JSON 并且 JSON 文档格式正确,
你可以做
它通过
+=
为数组分配一个新元素来使用添加到数组中。在 shell 变量中使用新值:
要一次性添加多个条目,最简单的方法是使用以下命令添加它们
--args
:请注意,
--args
该选项的后续参数必须是命令行上的最后一件事。要对您的文件进行这些更改,请使用临时文件:
如果由于某种原因失败,
&&
则可以防止原始文件被覆盖。jq