Json jq--arg将变量传递给select(),如果没有硬代码值,该变量是否不工作?
您好,我正在尝试将变量传递给jq,但不明白为什么有些Json jq--arg将变量传递给select(),如果没有硬代码值,该变量是否不工作?,json,jq,Json,Jq,您好,我正在尝试将变量传递给jq,但不明白为什么有些--arg变量可以工作,而有些不能 jq --version jq-1.6 示例不适用于。Value找到了我的答案——arg传递的变量是字符串,不能解释为数字,因此需要转换 jq -r --arg i $ip --arg host $h --arg v $value 'select(.Value <=($v | tonumber) and .ClientRequestHost == $host and .ClientIP == $i)'
--arg
变量可以工作,而有些不能
jq --version
jq-1.6
示例不适用于。Value找到了我的答案——arg传递的变量是字符串,不能解释为数字,因此需要转换
jq -r --arg i $ip --arg host $h --arg v $value 'select(.Value <=($v | tonumber) and .ClientRequestHost == $host and .ClientIP == $i)' file.json
jq-r--arg i$ip--arg host$h--arg v$value'选择(.value或使用命令行选项--argjson
h=hostname
ip=ipaddress
value=10
jq -r --arg i $ip --arg host $h --arg v $value 'select(.Value <=10 and .ClientRequestHost == $host and .ClientIP == $i)' file.json
jq -r --arg i $ip --arg host $h --arg v $value 'select(.Value <=($v | tonumber) and .ClientRequestHost == $host and .ClientIP == $i)' file.json