You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何展开AWS CLI查询结果中含多值字段的行?

展开AWS CLI查询结果中多值字段的行

要将查询结果里逗号分隔的SubnetId拆分为单独行,核心是遍历每个路由表的关联项(Associations),为每个SubnetId生成独立记录,同时保留对应的VpcId和标签信息。

替换后的命令

# 基础版:包含所有关联项(含无SubnetId的主路由表关联)
aws ec2 describe-route-tables --query 'RouteTables[*].Associations[*].{VpcId: ../VpcId, 标签值: ../Tags[].Value | join(`, `, @), 子网ID: SubnetId}' --output table

# 过滤版:仅保留有SubnetId的记录
aws ec2 describe-route-tables --query 'RouteTables[*].Associations[*].{VpcId: ../VpcId, 标签值: ../Tags[].Value | join(`, `, @), 子网ID: SubnetId} | [?子网ID != null]' --output table

关键逻辑说明

  • RouteTables[*].Associations[*]:遍历每个路由表下的所有关联实例,不再将多个SubnetId合并为一行
  • ../VpcId 和 ../Tags[].Value:通过../引用当前关联项所属路由表的属性,保证每个SubnetId都能对应到正确的VpcId和标签
  • [?子网ID != null]:可选过滤条件,剔除无SubnetId的主路由表关联记录

效果对比

原命令将同一路由表的所有SubnetId合并为一行,新命令会为每个SubnetId生成独立行:

原输出:
| vpc-xxxxxx | 标签1,标签2 | subnet-aaa,subnet-bbb |

新输出:
| vpc-xxxxxx | 标签1,标签2 | subnet-aaa |
| vpc-xxxxxx | 标签1,标签2 | subnet-bbb |

内容的提问来源于stack exchange,提问作者jvG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 20:10:27