使用 grep 函数从 AWS 证书列表中提取键值对
Using grep function to extract key-value from AWS certificate list
运行 $ aws acm list-certificates
在我的 AWS 控制台上列出了所有 ARN 证书。现在我得到的答案是列表格式。我如何使用 grep cmmnd 从此列表中获取特定的 arn?
例如:运行 这个 $ aws acm list-certificates
给我,
[ {"CertificateArn": "ARN1","DomainName": "A1.com"} ,
{"CertificateArn": "ARN2","DomainName": "A2.com"} ,
{"CertificateArn": "ARN3","DomainName": "A3.com"} ,
{"CertificateArn": "ARN4","DomainName": "A4.com"} ,
{"CertificateArn": "ARN5","DomainName": "A5.com"}
]
现在我想使用 grep 命令获取与“DomainName=A5.com”关联的 CertificateArn。我应该使用什么命令?
使用 --query
过滤/操作 AWS cli 输出,参见 the docs。
在你的情况下,这可能看起来像
aws acm list-certificates --query "(CertificateSummaryList[?DomainName=='A5.com'].CertificateArn)[0]"
可选择使用 --output=text
以在输出周围不包含 "
。
运行 $ aws acm list-certificates
在我的 AWS 控制台上列出了所有 ARN 证书。现在我得到的答案是列表格式。我如何使用 grep cmmnd 从此列表中获取特定的 arn?
例如:运行 这个 $ aws acm list-certificates
给我,
[ {"CertificateArn": "ARN1","DomainName": "A1.com"} ,
{"CertificateArn": "ARN2","DomainName": "A2.com"} ,
{"CertificateArn": "ARN3","DomainName": "A3.com"} ,
{"CertificateArn": "ARN4","DomainName": "A4.com"} ,
{"CertificateArn": "ARN5","DomainName": "A5.com"}
]
现在我想使用 grep 命令获取与“DomainName=A5.com”关联的 CertificateArn。我应该使用什么命令?
使用 --query
过滤/操作 AWS cli 输出,参见 the docs。
在你的情况下,这可能看起来像
aws acm list-certificates --query "(CertificateSummaryList[?DomainName=='A5.com'].CertificateArn)[0]"
可选择使用 --output=text
以在输出周围不包含 "
。