如何使用yq将YAML多行列表转换为行内数组格式
使用yq将YAML多行列表转为行内数组格式
针对主流的 mikefarah/yq(v4及以上版本),可通过以下命令实现需求:
处理文件
如果输入内容保存在 input.yaml 文件中,执行:
yq eval '.value |= style="flow"' input.yaml
处理标准输入
如果是通过管道传递输入内容(比如从其他命令输出读取),执行:
cat input.yaml | yq eval '.value |= style="flow"' -
命令说明
.value:精准定位到YAML中名为value的键|= style="flow":将该键对应的数组强制转换为**流式(flow)**格式,也就是目标中的[ 1, 2, 3 ]行内数组样式
若使用的是旧版Python基的kislyuk/yq,可结合jq实现:
yq -c '.' input.yaml | jq '.value |= .' | yq -y '.'
但更推荐使用功能更完善的mikefarah/yq版本。
内容的提问来源于stack exchange,提问作者qch2012
相关产品推荐
相关产品推荐

