yq
A lightweight and portable command-line YAML processor. More information: <https://mikefarah.gitbook.io/yq/>.
Install
- All systems
-
curl cmd.cat/yq.sh
- OS X
-
brew install yq
- Dockerfile
- dockerfile.run/yq
A lightweight and portable command-line YAML processor. More information: <https://mikefarah.gitbook.io/yq/>.
-
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
© tl;dr; authors and contributors