我希望提供一个结构化的配置文件,对于非技术用户而言,该文件应尽可能地容易编辑(不幸的是,该文件必须是文件),因此我想使用YAML。但是,我找不到从Unix shell脚本解析此内容的任何方法。
我的用例可能与原始帖子所要求的完全相同,但可能完全相同。
我需要引入一些YAML作为bash变量。YAML永远不会超过一个层次。
YAML看起来像这样:
KEY: value
ANOTHER_KEY: another_value
OH_MY_SO_MANY_KEYS: yet_another_value
LAST_KEY: last_value
输出像-dis:
KEY="value"
ANOTHER_KEY="another_value"
OH_MY_SO_MANY_KEYS="yet_another_value"
LAST_KEY="last_value"
我通过这一行实现了输出:
sed -e 's/:[^:\/\/]/="/g;s/$/"/g;s/ *=/=/g' file.yaml > file.sh
s/:[^:\/\/]/="/g
查找:
并替换为="
,而忽略://
(对于URL)s/$/"/g
追加"
到每行的末尾s/ *=/=/g
删除所有空格 =
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句