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

如何用jq从OCI嵌套输出中同时提取多个指定字段?

解决方法

直接把三个字段放在同一个处理管道里,就能一次性提取每条VM对应的信息:

# 每个字段单独一行输出,同一条VM的三个字段连续排列
jq -r '.data[] | ."display-name", ."id", ."shape-config"."memory-in-gbs"'

如果希望同一条VM的三个字段在同一行展示,推荐用数组+制表符格式化的方式,后续处理更方便:

jq -r '.data[] | [."display-name", .id, ."shape-config"."memory-in-gbs"] | @tsv'

也可以手动拼接字符串自定义分隔符(比如空格):

jq -r '.data[] | ."display-name" + " " + .id + " " + (.["shape-config"]["memory-in-gbs"] | tostring)'

说明

  • 第一种写法会按顺序输出每个字段,每条VM的三个字段连续出现;
  • @tsv会自动处理数值转字符串的问题,并且用制表符分隔字段,适合导入Excel或做脚本处理;
  • 手动拼接时,因为memory-in-gbs是数值类型,需要用tostring转成字符串才能和其他文本字段拼接。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 02:04:58