子供の値を変更するためにjqを使用しようとしています。たとえば、「test2」の値を["yo"、 "bye"]から["hi"]に変更したいとします。
{
"title": "hello",
"body": {
"test1": 123,
"test2": [
"yo",
"bye"
]
}
}
これまでのところ、ルートの子であるキーの値のみを変更できました。これを取得してタイトルの代わりに.body.test2に移動する方法がわかりません。
cat test.conf | jq 'to_entries | map(if .key == "title" then . + {"value":"hello world"} else . end) | from_entries' > test2.conf
(投稿 @ glennjackman システムが質問を自動削除しないように、コミュニティの回答としてコメント)
jq '.body.test2 = ["hi"]'
やります