如何过滤AWS CLI Route53Domains输出,仅保留纯域名列表?
解决AWS Route53仅提取域名纯列表的问题
你之前的命令出错是因为list-domains的返回结构里,域名信息存在Domains数组中,而非直接顶层的DomainName字段,所以--query参数的路径需要修正。
以下是两种可行的实现方式:
方式一:仅用AWS CLI参数实现
直接通过调整--query路径和输出格式,就能得到每行一个域名的纯列表:
aws route53domains list-domains \ --region us-east-1 \ --output text \ --no-cli-pager \ --query 'Domains[*].DomainName'
Domains[*].DomainName是JMESPath查询语法,作用是遍历返回结果里的Domains数组,提取每个元素的DomainName字段--output text会将提取出的数组元素按每行一个的格式输出
方式二:结合jq工具过滤(需系统已安装jq)
如果你的系统安装了jq,也可以用它来过滤JSON结果:
aws route53domains list-domains --region us-east-1 --no-cli-pager | jq -r '.Domains[].DomainName'
-r参数让jq输出原始字符串(不带引号),确保输出格式符合要求
内容的提问来源于stack exchange,提问作者Andre
相关产品推荐
相关产品推荐

