json - 如何将变量传递给jq
问题描述
我在将变量传递给 jq 时遇到问题。这是示例文件:
[
{
"version": 24,
"file": "branding/24"
}
]
这是我的脚本:
jq --arg value "25" '. += [{"version": $value|tonumber, "file": "branding/$value|tonumber"}]' versions.json >tmp.json && mv tmp.json versions.json
结果是:
[
{
"version": 24,
"file": "branding/24"
},
{
"version": 25,
"file": "branding/$value|tonumber"
}
]
预期结果:
[
{
"version": 24,
"file": "branding/24"
},
{
"version": 25,
"file": "branding/25"
}
]
解决方案
您需要使用插值来评估过滤器。
{"version": $value|tonumber, "file": "branding/\($value|tonumber)"}
推荐阅读
- javascript - 如何在 JavaScript 中打开 cv.DMatchVector 对象?
- java - 类方法可以反映对对象的被动动作,还是必须始终反映主动动作?
- c - 如何使用 write() 系统调用将整数写入文件
- python - AttributeError:“列表”对象没有属性“to_csv”
- trace - Qemu:跟踪 msr 读/写
- c# - .NET Core 3 - 我的区域标签未被识别
- wordpress - 为什么我的 SSL 在移动设备上无法为 WWW 工作?
- android - 更改共享元素活动过渡“闪烁”的颜色
- vb.net - 在 My.settings 中保存带有附加信息的 ListBox
- powershell - PowerShell (?) 检查 office 365 邮箱并通过重置 API 将电子邮件转发到另一个系统