【发布时间】:2020-03-30 16:15:23
【问题描述】:
{
"name": "ford",
"availableVersions": [
{
"version": 111,
"count": 3
},
{
"version": 122,
"count": 2
}
]
}
{
"name": "bmw",
"availableVersions": [
{
"version": 133,
"count": 1
},
{
"version": 144,
"count": 3
}
]
}
我现在有这个 demo.json 文件 if (count == 3) 我想将名称与版本连接起来。
所以我的输出应该是[ford-111, BMW-144]。我正在使用 jq 的 json 解析。
我试过这个命令
cat demo2| jq ' select(.availableVersions[].count == 3) | .name + ": " + (.availableVersions[].version|tostring)'
输出:
"ford: 111"
"ford: 122"
"bmw: 133"
"bmw: 144"
预期输出:
"ford: 111"
"bmw: 144"
谁能帮我解决这个问题?
【问题讨论】:
-
非常感谢您的快速回复。我试过这个命令 COMMAND = cat demo | jq ' 选择(.availableVersions[].count == 3) | .name + ":" + (.availableVersions[].version|tostring)' OUTPUT = "ford: 111" "ford: 122" "bmw: 133" "bmw: 144" 预期输出 = "ford: 111" "bmw : 144"
标签: json shell parsing concatenation jq