腾讯云命令行工具 结果返回过滤

这篇说说腾讯云命令行工具tccli的–filter参数,用于过滤命令返回结果,支持查看特定字段、数组元素、子对象字段及重命名输出。 查看特定字段:使用–filter TotalCount直接获取字段值。 数组元素过滤:使用–filter ZoneSet[0]获取指定索引的子对象。 重命名输出:使用–filter ‘ZoneSet[*].{name:ZoneName}‘同时过滤并重命名字段。

相关产品
腾讯云命令行工具 产品页,含版本规格、价格与购买入口。

某些命令的返回结果较多,若你需查看某些特定内容,可以对返回结果进行过滤。

一、操作步骤

这篇以云服务器 CVM DescribeZones 接口的返回为例,展示了不同过滤方式,及其返回结果:

·不加任何过滤时的输出。

[root@VM_180_248_centos ~]# tccli cvm DescribeZones{ "TotalCount": 3, "ZoneSet": [ { "ZoneState": "AVAILABLE", "ZoneId": "100001", "Zone": "ap-guangzhou-1", "ZoneName": "广州一区" }, { "ZoneState": "AVAILABLE", "ZoneId": "100003", "Zone": "ap-guangzhou-3", "ZoneName": "广州三区" }, { "ZoneState": "AVAILABLE", "ZoneId": "100004", "Zone": "ap-guangzhou-4", "ZoneName": "广州四区" } ], "RequestId": "4fd313a6-155f-4c7a-bf86-898c02fcae02"}

·只看某个字段。

[root@VM_180_248_centos ~]# tccli cvm DescribeZones –filter TotalCount3

·指定某个数组类型对象的第 N 个子对象的信息。

注意:MacOS 系统使用如下命令可能会报错 zsh: no matches found: xxx,这时需要将说明过滤行为的内容用单引号包裹起来。

[root@VM_180_248_centos ~]# tccli cvm DescribeZones –filter ZoneSet[0]{ "ZoneState": "AVAILABLE", "ZoneId": "100001", "Zone": "ap-guangzhou-1", "ZoneName": "广州一区"}

·指定数组类型对象下所有某个名称的子对象的某个字段。

[root@VM_180_248_centos ~]# tccli cvm DescribeZones –filter ZoneSet[*].ZoneName[ "广州一区", "广州三区", "广州四区"]

·过滤数组里的子对象,同时还以新的名称展示。

注意:需要将说明过滤行为的内容用单引号包裹起来。

[root@VM_180_248_centos ~]# tccli cvm DescribeZones –filter 'ZoneSet[*].{name:ZoneName, id:ZoneId}'[ { "name": "广州一区", "id": "100001" }, { "name": "广州三区", "id": "100003" }, { "name": "广州四区", "id": "100004" }]

赞 (0)
上一篇 4天前
下一篇 4天前