我正在尝试提取数组元素中的部分字符串,并使用这些提取创建一个新数组。
[
"local/binaries/app-2.21.0.tar.gz",
"local/binaries/app-2.20.0.tar.gz",
"local/binaries/app-2.19.1.tar.gz",
"local/binaries/app-2.19.0.tar.gz",
"local/binaries/app-2.18.0.tar.gz"
]
所需输出
[
"app-2.21.0",
"app-2.20.0",
"app-2.19.1",
"app-2.19.0",
"app-2.18.0"
]
您可以将jq的capture
函数与正则表达式一起使用。
jq '[.[] | capture("(?<captured>app-[0-9]+\.[0-9]+\.[0-9]+)") | .[]]'
在jq操场上试试。
文件:https://stedolan.github.io/jq/manual/#RegularexpressionsPCRE