yq/pkg/yqlib/doc/operators/parent.md

59 lines
753 B
Markdown
Raw Normal View History

2021-11-23 23:59:19 +00:00
# Parent
Parent simply returns the parent nodes of the matching nodes.
2021-11-23 23:16:48 +00:00
2022-02-06 03:39:46 +00:00
{% hint style="warning" %}
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
`yq e <exp> <file>`
{% endhint %}
2021-11-23 23:16:48 +00:00
## Simple example
Given a sample.yml file of:
```yaml
a:
nested: cat
```
then
```bash
2022-01-27 06:21:10 +00:00
yq '.a.nested | parent' sample.yml
2021-11-23 23:16:48 +00:00
```
will output
```yaml
nested: cat
```
2021-11-23 23:59:19 +00:00
## Parent of nested matches
2021-11-23 23:16:48 +00:00
Given a sample.yml file of:
```yaml
a:
fruit: apple
2021-11-23 23:59:19 +00:00
name: bob
2021-11-23 23:16:48 +00:00
b:
fruit: banana
2021-11-23 23:59:19 +00:00
name: sam
2021-11-23 23:16:48 +00:00
```
then
```bash
2022-01-27 06:21:10 +00:00
yq '.. | select(. == "banana") | parent' sample.yml
2021-11-23 23:16:48 +00:00
```
will output
```yaml
fruit: banana
2021-11-23 23:59:19 +00:00
name: sam
2021-11-23 23:16:48 +00:00
```
## No parent
Given a sample.yml file of:
```yaml
{}
```
then
```bash
2022-01-27 06:21:10 +00:00
yq 'parent' sample.yml
2021-11-23 23:16:48 +00:00
```
will output
```yaml
```