【发布时间】:2021-08-18 00:19:36
【问题描述】:
我正在尝试从字符串数组中删除一个子字符串;该数组是从地图中作为键集获得的。一些输入数据示例:
{
"appOneVersion": "1.0",
"appTwoVersion": "1.0",
"appThreeVersion": "1.0"
}
首先我提取密钥集并制作小写字母:
$ jq -r 'with_entries( .key |= ascii_downcase) | keys' example.json
[
"apponeversion",
"appthreeversion",
"apptwoversion"
]
然后我尝试用sub("version$"; "") 剥离每个元素的version 部分,但是我不太了解如何让它遍历数组而不是sub 尝试对数组进行操作一个整体:
$ jq -r 'with_entries( .key |= ascii_downcase) | keys | sub("version$"; "")' example.json
jq: error (at example.json:5): array (["apponever...) cannot be matched, as it is not a string
【问题讨论】:
-
我正在尝试获取所有密钥;下面的@peak 提供了一些适合我的选项。