我正在使用下面的内容,它工作得很好,但我想在过滤中添加一个变量,最好是“包含”,因为我想根据包含不同字符串的操作系统字段来过滤这个变量:
curl -H“接受:application/json;indent=4”-H“授权:令牌$token”“$url_devices”-k | jq -r --arg 设备“$device”'.results[] | select(.cluster.name == $cluster) | .primary_ip.address'
提前谢谢您!
尝试过
curl -H“接受:application/json;indent=4”-H“授权:令牌$token”“$url_devices”-k | jq -r --arg 设备“$device”'.results[] | select(.cluster.name == $cluster AND .cluster.os == $os) | .primary_ip.address'
但没有成功
您可以轻松链接多个
select
过滤器:
.results[]
| select(.cluster.name == $cluster)
| select(.cluster.os == $os)
| .primary_ip.address
and
组合多个谓词(注意大小写):
.results[]
| select(.cluster.name == $cluster and .cluster.os == $os)
| .primary_ip.address
结果是相同的。