【发布时间】:2021-07-29 00:24:46
【问题描述】:
我在 YAML 输入下面有这个,我正在尝试使用 yq 提取显示的输出
输入:
VAR-A: '{{a.b.VAR-A}}'
VAR-B: '{{a.b.VAR-B}}'
VAR-C: v0.0
VAR-D: '{{a.b.VAR-D}}-{{a.b.VAR-A}}'
VAR-E: '{{a.b.VAR-C}}-{{a.b.VAR-B}}-{{a.b.VAR-A}}'
VAR-F: '{{a.b.VAR-F}}'
预期输出:
VAR-C: v0.0
VAR-D: '{{a.b.VAR-D}}-{{a.b.VAR-A}}'
VAR-E: '{{a.b.VAR-C}}-{{a.b.VAR-B}}-{{a.b.VAR-A}}'
我的尝试:
yq eval 'del( .[] | select (. == "{{a.b.*" ) )' abc.yaml
我是 yq 的新手,我们将不胜感激。
基于@Inian 的评论
**注意:我想删除值 {{abVAR-A}} (在 ab 之后)中的键名 (VAR-A) 匹配且如果我有超过 {{abVAR-A}} 的对用 - 分隔的值,我想保留它们
【问题讨论】:
-
逻辑不通为什么要排除VAR-A、VAR-B、VAR-F/
-
@Inian 我想删除键名 (
VAR-A) 在值{{a.b.VAR-A}}(在a.b.之后)匹配的对,如果我的值超过{{a.b.VAR-A}},则由 @987654330 分隔@ ,我想保留它们。 -
我不认为这对 yq 来说很简单
-
@Inian 我们还有其他选择吗?