如何提取jq中特定子字符串之后的所有文本

时间:2019-08-27 10:37:42

标签: json jq

我有这个JSON:

{"item":2, "url":"domain/house/23/bedroom"}

我正在尝试使用jq获取此新的JSON:

{"item":2, "number":"23", "room":"bedroom"}

是否可以在jq中执行此操作?第一步,我尝试使用捕获功能来捕获“ / house /”之后的子字符串,但这不起作用:

cat myjson.json | jq -c '{item:.item,substring:(.url | capture("/house/.*").substring)}'

是否可以提取两个值并将它们放在两个不同的字段中?

1 个答案:

答案 0 :(得分:5)

用斜杠将url分割,并使用结果生成新字段。

{item} + (.url/"/"|{number:.[-2],room:.[-1]})