gpt4 book ai didi

arrays - 如何使用jq数组值返回true

转载 作者:行者123 更新时间:2023-12-04 13:19:37 27 4
gpt4 key购买 nike

如果列表中的任何一个条件为真,我正在尝试使用以下 jq 命令返回一个真实的输出。

.Tags[] as $t| "aws:cloudformation:stack-name"| IN($t[])   

输入
 {
"Tags": [{
"Value": "INF-D-XX-SEC-OPNV-UW1",
"Key": "Name"
},
{
"Value": "INF-D-XX-CFS-StandardInfrastructure-UW1",
"Key": "aws:cloudformation:stack-name"
},
{
"Value": "sgOpenVPNAccess",
"Key": "aws:cloudformation:logical-id"
},
{
"Value": "UW1",
"Key": "Location"
},
{
"Value": "INF",
"Key": "Application"
},
{
"Value": "D",
"Key": "Parent Environment"
},
{
"Value": "arn:aws:cloudformation:us-west-1:111111:stack/INF-D-XX-CFS-StandardInfrastructure-UW1/1111-11-11e8-96fe-11",
"Key": "aws:cloudformation:stack-id"
},
{
"Value": "OPNV",
"Key": "ResourceType"
}
]
}

这给了我一个返回的 bool 值列表,如下所示,

- 输出 -
true
false
false
false
false
false
false

我想返回一个值 true如果其中之一
Key="aws:cloudformation:stack-name" 

被检测到并且没有给我一个值(value)列表。

最佳答案

由于 any/2,一个非常有效的解决方案(在时间和空间方面)很容易:

any(.Tags[]; .Key == "aws:cloudformation:stack-name")

这当然评估为 truefalse .如果你想要 true或者什么都不做,你可以加入 // empty以上。

关于arrays - 如何使用jq数组值返回true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55252911/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com