mirror of
https://github.com/mikefarah/yq.git
synced 2024-12-19 20:19:04 +00:00
92 lines
1.1 KiB
Markdown
92 lines
1.1 KiB
Markdown
|
# 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:
|
||
|
```yaml
|
||
|
a: cat
|
||
|
---
|
||
|
a: frog
|
||
|
```
|
||
|
then
|
||
|
```bash
|
||
|
yq eval '.a | documentIndex' sample.yml
|
||
|
```
|
||
|
will output
|
||
|
```yaml
|
||
|
0
|
||
|
---
|
||
|
1
|
||
|
```
|
||
|
|
||
|
## Retrieve a document index, shorthand
|
||
|
Given a sample.yml file of:
|
||
|
```yaml
|
||
|
a: cat
|
||
|
---
|
||
|
a: frog
|
||
|
```
|
||
|
then
|
||
|
```bash
|
||
|
yq eval '.a | di' sample.yml
|
||
|
```
|
||
|
will output
|
||
|
```yaml
|
||
|
0
|
||
|
---
|
||
|
1
|
||
|
```
|
||
|
|
||
|
## Filter by document index
|
||
|
Given a sample.yml file of:
|
||
|
```yaml
|
||
|
a: cat
|
||
|
---
|
||
|
a: frog
|
||
|
```
|
||
|
then
|
||
|
```bash
|
||
|
yq eval 'select(documentIndex == 1)' sample.yml
|
||
|
```
|
||
|
will output
|
||
|
```yaml
|
||
|
a: frog
|
||
|
```
|
||
|
|
||
|
## Filter by document index shorthand
|
||
|
Given a sample.yml file of:
|
||
|
```yaml
|
||
|
a: cat
|
||
|
---
|
||
|
a: frog
|
||
|
```
|
||
|
then
|
||
|
```bash
|
||
|
yq eval 'select(di == 1)' sample.yml
|
||
|
```
|
||
|
will output
|
||
|
```yaml
|
||
|
a: frog
|
||
|
```
|
||
|
|
||
|
## Print Document Index with matches
|
||
|
Given a sample.yml file of:
|
||
|
```yaml
|
||
|
a: cat
|
||
|
---
|
||
|
a: frog
|
||
|
```
|
||
|
then
|
||
|
```bash
|
||
|
yq eval '.a | ({"match": ., "doc": documentIndex})' sample.yml
|
||
|
```
|
||
|
will output
|
||
|
```yaml
|
||
|
match: cat
|
||
|
doc: 0
|
||
|
match: frog
|
||
|
doc: 1
|
||
|
```
|
||
|
|