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

使用jq搜索指定字符串并输出非LATEST的父级name值

jq匹配指定字符串并过滤父级字段实现方案

需求说明

需要处理指定结构的JSON数据,实现以下逻辑:

  • 查找值为SEARCH-TEXT的目标内容
  • 定位匹配内容所属的results数组下的父级标签对象
  • 若该父级对象的name字段值不为LATEST,则输出对应name的取值
  • 针对提供的样例JSON,预期输出结果为NOT-LATEST

正确实现命令

jq -r '.results[] | select(any(.images[]; .digest == "SEARCH-TEXT")) | select(.name != "LATEST") | .name' input.json

命令逻辑说明

  • .results[]:遍历根节点下results数组的每一个标签条目
  • select(any(.images[]; .digest == "SEARCH-TEXT")):筛选出子级images数组中存在digest值为SEARCH-TEXT的标签条目,适配单个标签下关联多个镜像的场景
  • select(.name != "LATEST"):过滤掉name字段等于LATEST的条目
  • .name:输出符合所有条件条目的name字段值,参数-r用于输出无引号的原始字符串格式

样例运行结果

在提供的样例JSON上执行上述命令,将直接输出:

NOT-LATEST

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 04:09:25