的通過調用JQ 4倍以下命令更新在AWS路線53 JSON模板4個要素:更新多個元素AWS路線53 JSON模板
cat x.json | jq '.ChangeBatch.Changes[].Action = "UPSERT"'|\
jq '.ChangeBatch.Changes[].ResourceRecordSet.Name = "host.domain"'|\
jq '.ChangeBatch.Changes[].ResourceRecordSet.Type = "A"'|\
jq '.ChangeBatch.Changes[].ResourceRecordSet.ResourceRecords[].TTL ="300"'\|
jq '.ChangeBatch.Changes[].ResourceRecordSet.ResourceRecords[].Value ="10.120.0.1"'
結果在下面的正確的輸出:
{
"HostedZoneId": "",
"ChangeBatch": {
"Comment": "",
"Changes": [
{
"Action": "UPSERT",
"ResourceRecordSet": {
"Name": "host.domain",
"Type": "A",
"SetIdentifier": "",
"Weight": 0,
"Region": "",
"GeoLocation": {
"ContinentCode": "",
"CountryCode": "",
"SubdivisionCode": ""
},
"Failover": "",
"TTL": 0,
"ResourceRecords": [
{
"Value": "10.120.0.1",
"TTL": "300"
}
有沒有辦法通過一次調用jq來更新所有4個字段?
的可能的複製[?如何讓JQ字段值的多重分配(http://stackoverflow.com/questions/33075323/how-to-make- jq中的多字段值分配) –
顯示的輸出是無效的JSON。另外,如果x.json太長而無法包含,請提供一個簡約的例子。請修復。 – peak