linux - jq如何根据条件获取返回值
问题描述
所以我试图弄清楚如何"CPU"
根据来自"Tags"
...的值的条件获取值"Value"
"CPU"
因此,如果标签中的值是,我想打印该NO
值。此示例的返回值将是:"Identifier-0002"
这是数据:
{
"LIST": [
{
"CPU": "Identifier-0002",
"Tags": [
{
"Key": "Family",
"Value": "X"
},
{
"Key": "Available",
"Value": "NO"
}
]
},
{
"CPU": "Identifier-0001",
"Tags": [
{
"Key": "Family",
"Value": "X"
},
{
"Key": "Available",
"Value": "YES"
}
]
}
]
}
有任何想法吗 ?
谢谢 !
解决方案
您可以执行以下操作。这基本上检查 inside LIST
,看看是否有任何对象的值是NO
并获取它的CPU
值。
jq '.LIST[] | select(.Tags[].Value == "NO")? | .CPU'
推荐阅读
- symfony - Symfony 4:无法声明类 xxx\Kernel,因为该名称已在使用中
- linux - 如何从一行中搜索和删除模式?
- java - 如何删除 Java 代码中未处理的异常错误
- r - 如何使用一组正负一元和二元计算字符串中的单词?
- phpmyadmin - 从 config.inc.php 文件更改设置后,我无法登录我的 phpMyAdmin 帐户
- c# - 带有表达式变量的 Linq OrderBy
- django - 创建数据库后如何执行 docker-entrypoint-initdb.d/init.sql 文件?
- javascript - 如何在回调中使用它?
- sql - 子查询条件 (SQL)
- sql - 如何获得一个列的组的降序列表,该列是该组的另一个列的总和?