yq
A lightweight and portable command-line YAML processor.
- Output a YAML file, in pretty-print format (v4+):
yq eval {path/to/file.yaml}
- Output a YAML file, in pretty-print format (v3):
yq read {path/to/file.yaml} --colors
- Output the first element in a YAML file that contains only an array (v4+):
yq eval '.[0]' {path/to/file.yaml}
- Output the first element in a YAML file that contains only an array (v3):
yq read {path/to/file.yaml} '[0]'
- Set (or overwrite) a key to a value in a file (v4+):
yq eval '.{key} = "{value}"' --inplace {path/to/file.yaml}
- Set (or overwrite) a key to a value in a file (v3):
yq write --inplace {path/to/file.yaml} '{key}' '{value}'
- Merge two files and print to stdout (v4+):
yq eval-all 'select(filename == "{path/to/file1.yaml}") * select(filename == "{path/to/file2.yaml}")' {path/to/file1.yaml} {path/to/file2.yaml}
- Merge two files and print to stdout (v3):
yq merge {path/to/file1.yaml} {path/to/file2.yaml} --colors
Copyright © 2014—present the tldr-pages team and contributors.
This work is licensed under the Creative Commons Attribution 4.0 International License (CC-BY).