2020-11-22 02:16:54 +00:00
|
|
|
Use the `documentIndex` operator to select nodes of a particular document.
|
|
|
|
## Retrieve a document index
|
|
|
|
Given a sample.yml file of:
|
|
|
|
```yaml
|
|
|
|
a: cat
|
2020-12-26 22:36:33 +00:00
|
|
|
'': null
|
2020-11-22 02:16:54 +00:00
|
|
|
---
|
|
|
|
a: frog
|
2020-12-26 22:36:33 +00:00
|
|
|
'': null
|
2020-11-22 02:16:54 +00:00
|
|
|
```
|
|
|
|
then
|
|
|
|
```bash
|
|
|
|
yq eval '.a | documentIndex' sample.yml
|
|
|
|
```
|
|
|
|
will output
|
|
|
|
```yaml
|
|
|
|
0
|
|
|
|
---
|
|
|
|
1
|
|
|
|
```
|
|
|
|
|
|
|
|
## Filter by document index
|
|
|
|
Given a sample.yml file of:
|
|
|
|
```yaml
|
|
|
|
a: cat
|
2020-12-26 22:36:33 +00:00
|
|
|
'': null
|
2020-11-22 02:16:54 +00:00
|
|
|
---
|
|
|
|
a: frog
|
2020-12-26 22:36:33 +00:00
|
|
|
'': null
|
2020-11-22 02:16:54 +00:00
|
|
|
```
|
|
|
|
then
|
|
|
|
```bash
|
|
|
|
yq eval 'select(. | documentIndex == 1)' sample.yml
|
|
|
|
```
|
|
|
|
will output
|
|
|
|
```yaml
|
|
|
|
a: frog
|
2020-12-26 22:36:33 +00:00
|
|
|
'': null
|
2020-11-22 02:16:54 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
## Print Document Index with matches
|
|
|
|
Given a sample.yml file of:
|
|
|
|
```yaml
|
|
|
|
a: cat
|
2020-12-26 22:36:33 +00:00
|
|
|
'': null
|
2020-11-22 02:16:54 +00:00
|
|
|
---
|
|
|
|
a: frog
|
2020-12-26 22:36:33 +00:00
|
|
|
'': null
|
2020-11-22 02:16:54 +00:00
|
|
|
```
|
|
|
|
then
|
|
|
|
```bash
|
|
|
|
yq eval '.a | ({"match": ., "doc": (. | documentIndex)})' sample.yml
|
|
|
|
```
|
|
|
|
will output
|
|
|
|
```yaml
|
2020-12-26 22:36:33 +00:00
|
|
|
'': null
|
|
|
|
'': null
|
2020-11-22 02:16:54 +00:00
|
|
|
```
|
|
|
|
|