簡體   English   中英

使用 jq 提取數組中的部分字符串元素

[英]Extract part of the string elements in an array using jq

我正在嘗試提取數組元素中的部分字符串,並使用這些提取創建一個新數組。

[
  "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"
]

所需 output

[
  "app-2.21.0",
  "app-2.20.0",
  "app-2.19.1",
  "app-2.19.0",
  "app-2.18.0"
]

您可以將 jq 的capture function 與正則表達式一起使用。

jq '[.[] | capture("(?<captured>app-[0-9]+\\.[0-9]+\\.[0-9]+)") | .[]]'

在 jq 操場上試一試

文檔: https://stedolan.github.io/jq/manual/#RegularexpressionsPCRE

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM