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

如何使用jq从JSON列表中选取rhel目录下build号最高的对象名

你遇到的报错是因为select筛选后输出的是包含name字段的完整对象,不是字符串类型的name值,直接调用split方法会因为输入类型不匹配抛出错误,需要先提取.name字段再做分割处理。

正确执行命令

jq -r '.objects | map(select(.name | test("rhel/."))) | max_by(.name | split(".")[-2] | tonumber) | .name' file.json

命令逻辑拆解

  • 第一步用map(select(.name | test("rhel/.")))筛选出所有rhel目录下的非文件夹对象,保留完整对象结构用于后续排序
  • 第二步用max_by计算build号最高的对象:对每个对象的name值按.分割,取倒数第二个元素(即.txt后缀前的build号)转为数字作为排序依据,自动选出最大值对应的对象
  • 最后输出目标对象的name字段值

用你提供的示例数据执行该命令,会直接输出期望结果rhel/app-3.11.4.629600.txt。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 09:39:06