File Operators
File operators are most often used with merge when needing to merge specific files together. Note that when doing this, you will need to use
eval-all
to ensure all yaml documents are loaded into memory before performing the merge (as opposed to eval
which runs the expression once per document).Note that the
fileIndex
operator has a short alias of fi
.Note the use of eval-all to ensure all documents are loaded into memory.
yq eval-all 'select(fi == 0) * select(filename == "file2.yaml")' file1.yaml file2.yaml
Given a sample.yml file of:
a: cat
then
yq 'filename' sample.yml
will output
sample.yml
Given a sample.yml file of:
a: cat
then
yq 'file_index' sample.yml
will output
0
Given a sample.yml file of:
a: cat
And another sample another.yml file of:
a: cat
then
yq eval-all 'file_index' sample.yml another.yml
will output
0
---
1
Given a sample.yml file of:
a: cat
then
yq 'fi' sample.yml
will output
0
Last modified 10mo ago