我有一个json文件,我想在json的另一个位置从顶部添加一些值。 我正在尝试使用jq命令行。
{
"channel": "mychannel",
"videos": [
{
"id": "10",
"url": "youtube.com"
},
{
"id": "20",
"url": "youtube.com"
}
]
}
输出为:
{
"channel": "mychannel",
"videos": [
{
"channel": "mychannel",
"id": "10",
"url": "youtube.com"
},
{
"channel": "mychannel",
"id": "20",
"url": "youtube.com"
}
]
}
在我的json中,“频道”是静态的,始终是相同的值。我需要一种总是在每个视频阵列中串联的方法。
有人可以帮助我吗?
jq .videos +频道
答案 0 :(得分:3)
在管道的后期使用变量来记住.channel
。
$ jq '.channel as $ch | .videos[].channel = $ch' tmp.json
{
"channel": "mychannel",
"videos": [
{
"id": "10",
"url": "youtube.com",
"channel": "mychannel"
},
{
"id": "20",
"url": "youtube.com",
"channel": "mychannel"
}
]
}