【发布时间】:2020-07-16 22:07:27
【问题描述】:
{
"name": "ford",
"availableVersions": [
{
"version": 111,
"count": 3
},
{
"version": 122,
"count": 2
},
{
"version": 133,
"count": 3
}
],
"RealVersion": 133
}
{
"name": "bmw",
"availableVersions": [
{
"version": 144,
"count": 1
},
{
"version": 155,
"count": 3
} ],
"RealVersion": 120
}
我现在有这个 demo.json 文件 if (count == 3) 我想将名称与版本连接起来。
所以我的输出应该是[ford:111,ford:133,BMW:155]。我正在使用 jq 的 json 解析。
我使用的这个命令很好用
cat demo2| jq '.name + ": " + (.availableVersions[]|select(.count == 3).version|tostring)'
但现在我还想要一个条件if (count ==3 and version != RealVersion) 然后我只想要version 我尝试了很多命令,但都没有工作。有人可以帮我解决这个问题吗?
所以预期输出 =
[ford:111,BMW:155]
所以,ford:133 不会出现在输出中
【问题讨论】:
-
这能回答你的问题吗? Concat 2 fields in JSON using jq
标签: json shell parsing concatenation jq