mirror of
https://github.com/mikefarah/yq.git
synced 2024-12-19 20:19:04 +00:00
1010 B
1010 B
This operator recursively matches all children nodes given of a particular element, including that node itself. This is most often used to apply a filter recursively against all matches, for instance to set the style
of all nodes in a yaml doc:
yq eval '.. style= "flow"' file.yaml
Aliases are not traversed
Given a sample.yml file of:
a: &cat
c: frog
b: *cat
then
yq eval '[..]' sample.yml
will output
- a: &cat
c: frog
b: *cat
- &cat
c: frog
- frog
- *cat
Merge docs are not traversed
Given a sample.yml file of:
foo: &foo
a: foo_a
thing: foo_thing
c: foo_c
bar: &bar
b: bar_b
thing: bar_thing
c: bar_c
foobarList:
b: foobarList_b
!!merge <<:
- *foo
- *bar
c: foobarList_c
foobar:
c: foobar_c
!!merge <<: *foo
thing: foobar_thing
then
yq eval '.foobar | [..]' sample.yml
will output
- c: foobar_c
!!merge <<: *foo
thing: foobar_thing
- foobar_c
- *foo
- foobar_thing