在我的JSON中搜索和替換時遇到困難我一直在試圖讓這個工作好幾天,但我被卡住了。使用jq
我有一個json數據結構,其中包含我想要更新的數據結構,基本上使用我的json作爲數據庫來存儲配置值。這裏是我的JSON:
{
"Actions": [
{
"Number": 1012,
"RollbackPoint": "xxx_1012_RollbackPoint_xxx",
"Parameters": [
{
"Name": "accountType",
"Value": "xxx_1012_accountType_xxx"
},
{
"Name": "userPassword",
"Value": "xxx_1012_userPassword_xxx"
}
]
},
{
"Number": 1015,
"RollbackPoint": "xxx_1015_RollbackPoint_xxx",
"Parameters": [
{
"Name": "accountType",
"Value": "xxx_1015_accountType_xxx"
},
{
"Name": "skipExport",
"Value": "xxx_1015_skipExport_xxx"
}
]
}
]
}
我想執行兩個更新
- 更新RollbackPoint爲 「1012」,其中數= 1015
- 更新值 「AWS」,其中name = 「ACCOUNTTYPE」 下參數,其中number = 1012
到目前爲止,我已經到了最接近的是使用這樣的:
cat json.txt | jq '.[] | map(. + {RollbackPoint:(if (."Number") == 1015 then "1015" else .RollbackPoint end)})'
但這剝去操作[]元素所以它不適合我,我不知道在哪裏甚至更新2開始...
任何幫助將不勝感激,超過5小時谷歌和我仍然沒有附近。
非常感謝 馬特
完美! 非常感謝你,傑夫工作的魅力。我現在可以看到我在這個地方使用它。 親切的問候 馬特 – msmithwr
@msmithwr很高興你找到你的解決方案。請將Jeff的答案標記爲已接受,以幫助其他用戶。 – Synesso