gpt4 book ai didi

json - 使用 jq 返回多个元素?

转载 作者:行者123 更新时间:2023-12-02 00:45:47 24 4
gpt4 key购买 nike

我正在尝试使用 jq 从 JSON 对象返回多个元素。数据来自 AWS cli 查找,这只是输出的一小部分:

{
"ReservedInstancesOfferings": [{
"OfferingClass": "convertible",
"OfferingType": "No Upfront",
"AvailabilityZone": "ap-southeast-2a",
"InstanceTenancy": "default",
"PricingDetails": [],
"ProductDescription": "Linux/UNIX",
"UsagePrice": 0.0,
"RecurringCharges": [{
"Amount": 0.167,
"Frequency": "Hourly"
}],
"Marketplace": false,
"CurrencyCode": "USD",
"FixedPrice": 0.0,
"Duration": 94608000,
"Scope": "Availability Zone",
"ReservedInstancesOfferingId": "1fc8c02b-bcc0-42b8-82ef-47c6f6d1c1b5",
"InstanceType": "c4.xlarge"
},
{
"OfferingClass": "convertible",
"OfferingType": "No Upfront",
"AvailabilityZone": "ap-southeast-2a",
"InstanceTenancy": "dedicated",
"PricingDetails": [],
"ProductDescription": "Red Hat Enterprise Linux",
"UsagePrice": 0.0,
"RecurringCharges": [{
"Amount": 0.243,
"Frequency": "Hourly"
}],
"Marketplace": false,
"CurrencyCode": "USD",
"FixedPrice": 0.0,
"Duration": 94608000,
"Scope": "Availability Zone",
"ReservedInstancesOfferingId": "24aaceee-f54e-4882-aba3-ce710a5036c9",
"InstanceType": "c4.xlarge"
}
]

我正在尝试提取字段:

.ReservedInstancesOfferings[].ProductDescription
.ReservedInstancesOfferings[].InstanceType
.ReservedInstancesOfferings[].RecurringCharges[].Amount

我想输出如下:

"Red Hat Enterprise Linux"
"c4.xlarge"
0.183

正如您在上面看到的,我了解如何单独提取所有元素,但我不知道如何将它们组合在一起以获得所需的输出。我确实用逗号分隔查询,但这并没有提供所需的输出。

非常感谢任何帮助。

谢谢!

编辑:

哦哦,我知道了!完整答案如下。男孩哦男孩 jq 很强大!

希望这对某人有帮助:)

最佳答案

好的,所以我设法得到了我想要的东西。我还有一些整理工作要做,因为一些输入字段并不完全统一,但已经足够接近了:

aws ec2 describe-reserved-instances-offerings --availability-zone "ap-southeast-2a" --instance-type "c4.xlarge" |
jq '.ReservedInstancesOfferings[] | [.ProductDescription, .InstanceType, .RecurringCharges[].Amount]'

输出:

[
"Linux/UNIX",
"c4.xlarge",
0.167
]
[
"Red Hat Enterprise Linux",
"c4.xlarge",
0.243
]
[
"Red Hat Enterprise Linux",
"c4.xlarge",
0.227
]
[
"Linux/UNIX",
"c4.xlarge",
0.183
]
[
"SUSE Linux",
"c4.xlarge",
0.2
]

关于json - 使用 jq 返回多个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43994979/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com