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

使用JQ检测AWS CLI返回的IPSet数组中是否包含指定IP地址

JQ判断AWS WAF IPSet中是否存在指定IP的方法

你之前的写法是遍历数组输出每个元素的校验结果,只要用any()函数聚合结果即可得到单个布尔值。

精确匹配完整CIDR字符串

如果你要匹配的是Addresses数组中完整的CIDR条目(比如查询192.0.2.0/16是否存在),使用如下命令:

echo "$single_ip_set" | jq '.IPSet.Addresses | any(. == "192.0.2.0/16")'

输出结果为唯一的true或false。

模糊匹配IP字符串

如果你需要判断数组的CIDR条目中是否包含目标IP的文本片段(和你之前用contains的逻辑一致),使用如下命令:

echo "$single_ip_set" | jq '.IPSet.Addresses | any(contains("255.255.255.8"))'

脚本场景适配

如果要在shell脚本中直接通过退出码判断结果,可以加上-e参数:

echo "$single_ip_set" | jq -e '.IPSet.Addresses | any(. == "192.0.2.0/16")' > /dev/null
# 执行后$?为0表示IP存在,为1表示IP不存在

注意:原生jq不支持IP网段归属计算,如果你需要判断某个单IP是否属于数组内的CIDR网段(比如判断192.0.2.123是否属于192.0.2.0/16),需要额外配合ipcalc、sipcalc等IP计算工具实现。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 03:45:03