jq
可以预定义变量并替换为--arg
选项。它适用于字符串。但是,我不知道如何将变量替换为数字。
$jq -n --arg number 3000 '{"number":$number}'
{
"number": "3000"
}
我希望能够生成以下内容:
{
"number": 3000
}
提前致谢。
答案 0 :(得分:3)
或者:
jq -n --arg number 300 '{"number": $number|tonumber}'
或(如Jeff所指出的)jq 1.5:
jq -n --argjson number 300 '{"number": $number}'
或(2015年6月26日之后的jq版本):
jq -n --arg number 300 '{$number} | .number |= tonumber'
答案 1 :(得分:0)
以下是解决方案:
jq -n --argfile number <(printf '%d' 3000) '{"number":$number}'
或者
jq -n --arg number 3000 '{"number":$number|fromjson}'