【问题标题】:"Unflatten" a yaml file“展开” yaml 文件
【发布时间】:2021-09-08 10:38:57
【问题描述】:

我正在寻找一个 Bash 工具/脚本(或者基本上可以在 shell 中轻松执行的任何东西),它可以帮助我“解压” YAML 文件。我所说的“不扁平化”是指:

假设我有一个如下所示的文件:

a.b.c: "foo"
a.b.d: "bar"
a.e: "baz"
a.f.g: "qux"
...

我想将其转换为具有适当缩进的正确 YAML 文件,如下所示:

a:
  b:
    c: "foo"
    d: "bar"
  e: "baz"
  f:
    g: "qux:
...

有什么想法吗?

【问题讨论】:

  • 我还没有找到任何简单的方法来使用bash。您可以使用像 github.com/Codearte/props2yaml 这样的第 3 方库来实现您想要的(存在多种工具,我会让您 google 并选择最适合您需求的一种)
  • 请注意,就 YAML 而言,您提供的两个 YAML sn-ps 并不等同。如果它们对某些应用程序意味着同样的事情,那么那是特定于应用程序的。
  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: bash yaml


【解决方案1】:

如果你可以从https://github.com/mikefarah/yq安装yq,那么:

yq eval "$(awk -F ": " '{print s"."$1"="$2;s="|"}' your-file)" /dev/null

【讨论】:

    猜你喜欢
    • 2021-12-01
    • 1970-01-01
    • 2014-11-09
    • 2021-08-23
    • 2019-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-23
    相关资源
    最近更新 更多