yq/operators/flatten.md
2022-02-06 14:41:27 +11:00

860 B

Flatten

This recursively flattens arrays.

{% hint style="warning" %} Note that versions prior to 4.18 require the 'eval/e' command to be specified.

yq e <exp> <file> {% endhint %}

Flatten

Recursively flattens all arrays

Given a sample.yml file of:

- 1
- - 2
- - - 3

then

yq 'flatten' sample.yml

will output

- 1
- 2
- 3

Flatten with depth of one

Given a sample.yml file of:

- 1
- - 2
- - - 3

then

yq 'flatten(1)' sample.yml

will output

- 1
- 2
- - 3

Flatten empty array

Given a sample.yml file of:

- []

then

yq 'flatten' sample.yml

will output

[]

Flatten array of objects

Given a sample.yml file of:

- foo: bar
- - foo: baz

then

yq 'flatten' sample.yml

will output

- foo: bar
- foo: baz