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

AWS CLI查询结果单行显示求助:EC2实例信息排版调整

调整AWS CLI查询语句实现实例名称与IP同行显示

我在Shell脚本中使用以下AWS CLI命令:

aws ec2 describe-instances --query 'Reservations[].Instances[].[Tags[?Key==`Name`].Value[], PrivateIpAddress]' --output text

当前输出为每行单独显示实例名称和私有IP:

instance1
10.10.1.10
instance2
10.10.1.11

期望每个实例的名称与IP显示在同一行:

instance1 10.10.1.10
instance2 10.10.1.11

已知需调整查询语句中的[]位置,但尝试后仍未解决,请问如何实现?


解决方法

问题出在原查询的嵌套数组结构:Tags[?Key==\Name`].Value[]返回的是数组,再和PrivateIpAddress共同放在外层数组里,导致--output text`输出时每个数组元素单独换行。只需调整查询逻辑,把标签值的数组转为单个字符串,同时保证每个实例的两个字段属于同一组即可。

修改后的命令如下:

aws ec2 describe-instances --query 'Reservations[].Instances[].[Tags[?Key==`Name`].Value | [0], PrivateIpAddress]' --output text

核心调整说明:

  • Tags[?Key==\Name`].Value | [0]:通过| [0]`提取标签值数组的第一个元素(通常实例Name标签只有一个值),将数组转为单个字符串,消除嵌套结构
  • 保持外层[]包裹两个字段,确保每个实例的名称和IP被打包为一组,配合--output text会在同一行输出,用空格分隔

如果存在实例未设置Name标签的情况,可添加默认值避免空输出:

aws ec2 describe-instances --query 'Reservations[].Instances[].[Tags[?Key==`Name`].Value | [0] || `无名称`, PrivateIpAddress]' --output text

内容的提问来源于stack exchange,提问作者L.Ray

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 13:44:54