我正在使用來自 AWS cmd 的 JSON 輸出aws elbv2 describe-load-balancers --output json
來檢索有關我的負載均衡器的資訊 - 下面是部分 json
我正在使用以下內容為每個 LB 提取 DNS 名稱、LB 名稱和方案
jq -r ' .LoadBalancers[]| .DNSName,.LoadBalancerName,.Scheme'
JQ 在每個陣列上回圈,我得到一個這樣的串列
DNS-XXXXXXXXXXXXXXXXXXXXXXXX.elb.us-west-1.amazonaws.com
LBNAME-xxxxxxxxx
internal
DNS-XXXXXXXXXX.elb.us-west-1.amazonaws.com
LBNAME-XXXXXXXXXXXXXXXXXXXXXXXX
internal
問題:在 JQ 中有沒有辦法將我的值列印為 CSV,或者至少在回圈的每次迭代之后插入一個空格?如果我不能通過 JQ 做到這一點,那么實作這一目標的最佳方法是什么?
當我添加@csv 我得到以下錯誤“字串(”XXXX ...)不能是csv格式,只有陣列”
部分 JSON
"LoadBalancers": [
{
"LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-1:XXXXXXXXXXXXXXXXXXXXXXXX,
"DNSName": "DNS-XXXXXXXXXXXXXXXXXXXXXXXX.elb.us-west-1.amazonaws.com",
"CanonicalHostedZoneId": "xxxxxxxxx",
"CreatedTime": "2021-10-24T07:37:29.568000 00:00",
"LoadBalancerName": "LBNAME-xxxxxxxxx",
"Scheme": "internal",
"VpcId": "vpc-XXXXXXXXXX",
"State": {
"Code": "active"
},
"Type": "network",
"AvailabilityZones": [
{
"ZoneName": "us-west-1a",
"SubnetId": "XXXXXXXXXX,
"LoadBalancerAddresses": []
},
{
"ZoneName": "us-west-1c",
"SubnetId": "XXXXXXXXXX",
"LoadBalancerAddresses": []
}
],
"IpAddressType": "ipv4"
},
{
"LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-1:XXXXXXXXXXXXXXXXXXXXXXXX,
"DNSName": "DNS-XXXXXXXXXX.elb.us-west-1.amazonaws.com",
"CanonicalHostedZoneId": "XXXXXXXXXX",
"CreatedTime": "2022-01-05T14:14:14.570000 00:00",
"LoadBalancerName": "LBNAME-XXXXXXXXXXXXXXXXXXXXXXXX",
"Scheme": "internal",
"VpcId": "vpc-XXXXXXXXXX",
"State": {
"Code": "active"
},
"Type": "network",
"AvailabilityZones": [
{
"ZoneName": "us-west-1c",
"SubnetId": "subnet-XXXXXXXXXX",
"LoadBalancerAddresses": []
},
{
"ZoneName": "us-west-1a",
"SubnetId": "subnet-ZZZZZZZ",
"LoadBalancerAddresses": []
}
],
"IpAddressType": "ipv4"
}
]
}
uj5u.com熱心網友回復:
@csv
需要一個陣列,因此請在其中構造一個包含所需欄位的陣列:
jq -r '.LoadBalancers[] | [.DNSName, .LoadBalancerName, .Scheme] | @csv'
或者,通過根據自己的喜好格式化字串來自己構造每個輸出行:
jq -r '.LoadBalancers[] | "\(.DNSName): \(.LoadBalancerName), \(.Scheme)"'
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/497236.html