yq/pkg/yqlib/doc/operators/document-index.md
Mike Farah 13d1bbb45f
Generic ast (#1829)
Remove dependency on yaml.Node for internal AST representation. Yaml decoder is now just another decoder.
2023-10-18 12:11:53 +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