A command-line YAML editor that preserves comments and styling.
Based on the Node.js package YAWN YAML.
npm install yawn-yaml-cli [--global]
yawn [command] # If installed with --global
$(npm bin)/yawn [command] # If installed locally
See yawn --help
for all commands and options, including output format and error handling.
Major commands are listed below.
yawn get <file> <path>
Gets the specified entry inside the given YAML file.
Uses lodash.get()
syntax for the path.
yawn set <file> <path> <value>
Sets an entry in the given YAML file.
Uses lodash.set()
syntax for the path.
If adding to an existing array, any value higher than the last index will push to the last array index, instead of
inserting null
entries:
users:
- alice
- bob
# Run `yawn set users.yaml users[10] jim`
users:
- alice
- bob
- jim # Inserted at index 3, not 10.
yawn push <file> <path> <value>
Pushes the given value onto the end of an array, creating the array if needed.
# users.yaml
users:
- alice
- bob
yawn push users.yaml users "jim"
rm -rf users.yaml; yawn push users.yaml users "alice"
# will create "users.yaml", a "users" array, and will push "alice" onto the new array