我的扫描功能有错误,为什么?
https://jqplay.org/s/E-0qbbzRPS
我需要在没有-r 的情况下完成此操作
您的过滤器有两个问题。首先,您需要用分号;
而不是逗号,
:将参数分隔为函数
scan("([0-9A-Za-z_]+) == '([0-9A-Za-z_]+)"; "g")
其次,没有实现具有两个参数的scan
(与手册相矛盾(。
jq: error: scan/2 is not defined at <top-level>, line 1:
但是,当您使用scan
时,您的正则表达式无论如何都会匹配多次出现的情况,所以您不妨将其删除:
.spec.selector | [scan("([0-9A-Za-z_]+) == '([0-9A-Za-z_]+)") | {(.[0]): .[1]}]
[
{
"app": "nginx"
}
]
演示