yq/operators/document-index.md
2023-11-23 11:59:14 +11:00

1.0 KiB

Document Index

Use the documentIndex operator (or the di shorthand) to select nodes of a particular document.

Retrieve a document index

Given a sample.yml file of:

a: cat
---
a: frog

then

yq '.a | document_index' sample.yml

will output

0
---
1

Retrieve a document index, shorthand

Given a sample.yml file of:

a: cat
---
a: frog

then

yq '.a | di' sample.yml

will output

0
---
1

Filter by document index

Given a sample.yml file of:

a: cat
---
a: frog

then

yq 'select(document_index == 1)' sample.yml

will output

a: frog

Filter by document index shorthand

Given a sample.yml file of:

a: cat
---
a: frog

then

yq 'select(di == 1)' sample.yml

will output

a: frog

Print Document Index with matches

Given a sample.yml file of:

a: cat
---
a: frog

then

yq '.a | ({"match": ., "doc": document_index})' sample.yml

will output

match: cat
doc: 0
---
match: frog
doc: 1