我在敲打我的头,如何从一个json列表中排除一些记录,这些记录的属性有很多值。jq - How to filter a json that does not contain这是一个例子。
这个很好用
jq -C 'select( .Image | contains("rancher"))'
否定也很有效
jq -C 'select( .Image | contains("rancher")|not)'
但是扩展它以排除多个值使我感到困惑
echo $JSON | jq 'select( .Image | contains("rancher")|not or .Image | contains("jenkins")| not)'
给予我:
jq:错误(在:1):无法检查布尔值(true)和字符串(“jenkins”)的包含关系,解析错误:第1行第147列的,“”之前需要值
1条答案
按热度按时间thtygnil1#
所以否定是个问题。jq管道从字符串变成了布尔值,所以在哪里用not写否定很重要。
这起作用了
然而这是一个更酷的方法,直接从列表中删除条目: