I wish to provide a structured configuration file which is as easy as possible for a non-technical user to edit (unfortunately it has to be a file) and so I wanted to use YAML. I can't find any way of parsing this from a Unix shell script however.
My use case may or may not be quite the same as what this original post was asking, but it's definitely similar.
I need to pull in some YAML as bash variables. The YAML will never be more than one level deep.
YAML looks like so:
KEY: value ANOTHER_KEY: another_value OH_MY_SO_MANY_KEYS: yet_another_value LAST_KEY: last_value
Output like-a dis:
KEY="value" ANOTHER_KEY="another_value" OH_MY_SO_MANY_KEYS="yet_another_value" LAST_KEY="last_value"
I achieved the output with this line:
sed -e 's/:[^:\/\/]/="/g;s/$/"/g;s/ *=/=/g' file.yaml > file.sh
:and replaces it with
=", while ignoring
"to the end of each line
s/ *=/=/gremoves all spaces before