如何用yq将YAML键映射到其子节点的value属性?
使用yq转换YAML结构
针对你给出的嵌套YAML结构,用mikefarah/yq(v4及以上版本)可以通过以下命令直接转换:
yq 'with_entries(.value = .value.value)' input.yaml
命令说明:
with_entries():遍历YAML中的每一组键值对,对每个条目做针对性处理.value = .value.value:将每个条目的值替换为原嵌套结构里的value字段内容
效果验证:
输入文件input.yaml内容:
host1: type: A value: 10.0.0.1 host2: type: A value: 10.0.0.2
执行命令后输出:
host1: 10.0.0.1 host2: 10.0.0.2
如果需要直接修改原文件,添加-i参数即可:
yq -i 'with_entries(.value = .value.value)' input.yaml
内容的提问来源于stack exchange,提问作者Tombart
相关产品推荐
相关产品推荐

