Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json jq--arg将变量传递给select(),如果没有硬代码值,该变量是否不工作?_Json_Jq - Fatal编程技术网

Json jq--arg将变量传递给select(),如果没有硬代码值,该变量是否不工作?

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)'

您好,我正在尝试将变量传递给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)' 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