mirror of
https://github.com/mikefarah/yq.git
synced 2024-12-19 20:19:04 +00:00
57 lines
1.4 KiB
Markdown
57 lines
1.4 KiB
Markdown
---
|
|
description: >-
|
|
Evaluates the given expression against each yaml document in each file, in
|
|
sequence
|
|
---
|
|
|
|
# Evaluate
|
|
|
|
Note that (as of 4.18.1) this is the default command when none is supplied to yq.
|
|
|
|
## Usage: 
|
|
|
|
```bash
|
|
yq eval [expression] [yaml_file1]... [flags]
|
|
```
|
|
|
|
Aliases: `eval, e`
|
|
|
|
Note that you can pass in `-` as a filename to pipe from STDIN.
|
|
|
|
## Examples:
|
|
|
|
```bash
|
|
# runs the expression against each file, in series
|
|
yq '.a.b | length' f1.yml f2.yml
|
|
|
|
# '-' will pipe from STDIN
|
|
cat file.yml | yq '.a.b' f1.yml - f2.yml
|
|
|
|
# prints out the file
|
|
yq sample.yaml
|
|
cat sample.yml | yq e
|
|
|
|
# prints a new yaml document
|
|
yq -n '.a.b.c = "cat"'
|
|
|
|
# updates file.yaml directly
|
|
yq '.a.b = "cool"' -i file.yaml
|
|
```
|
|
|
|
|
|
|
|
## Flags:
|
|
|
|
```
|
|
-h, --help help for eval
|
|
-C, --colors force print with colors
|
|
-e, --exit-status set exit status if there are no matches or null or false is returned
|
|
-I, --indent int sets indent level for output (default 2)
|
|
-i, --inplace update the yaml file inplace of first yaml file given.
|
|
-M, --no-colors force print with no colors
|
|
-N, --no-doc Don't print document separators (---)
|
|
-n, --null-input Don't read input, simply evaluate the expression given. Useful for creating yaml docs from scratch.
|
|
-j, --tojson output as json. Set indent to 0 to print json in one line.
|
|
-v, --verbose verbose mode
|
|
```
|