【发布时间】:2021-05-27 00:11:10
【问题描述】:
我在YAML 输入下面有这个,我正在尝试使用yq 提取显示的输出。我想删除键名 (VAR-A) 在值 {{a.b.VAR-A}} (在 a.b. 之后)匹配的对,如果我在由 - 分隔的值中有多个 {{a.b.VAR-A}} ,我想保留它们。
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: True
预期输出:
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: True
如果我有所有字符串,则此问题有效,但当我在 yaml 中具有 boolean 值时它会失败。 Extract Key Value pairs which matches the regex in YAML using yq/sed/grep
我得到以下错误:
错误:不能用 !!bool 替换,只能替换字符串。提示:大多数情况下,您会希望在此操作中使用 '|=' 而不是 '='。
【问题讨论】:
-
你的代码在哪里?还有 yq 命令?