mirror of
https://github.com/mikefarah/yq.git
synced 2024-12-19 20:19:04 +00:00
118 lines
1.2 KiB
Markdown
118 lines
1.2 KiB
Markdown
# Pivot
|
|
|
|
Emulates the `PIVOT` function supported by several popular RDBMS systems.
|
|
|
|
## Pivot a sequence of sequences
|
|
Given a sample.yml file of:
|
|
```yaml
|
|
- - foo
|
|
- bar
|
|
- baz
|
|
- - sis
|
|
- boom
|
|
- bah
|
|
```
|
|
then
|
|
```bash
|
|
yq 'pivot' sample.yml
|
|
```
|
|
will output
|
|
```yaml
|
|
- - foo
|
|
- sis
|
|
- - bar
|
|
- boom
|
|
- - baz
|
|
- bah
|
|
```
|
|
|
|
## Pivot sequence of heterogeneous sequences
|
|
Missing values are "padded" to null.
|
|
|
|
Given a sample.yml file of:
|
|
```yaml
|
|
- - foo
|
|
- bar
|
|
- baz
|
|
- - sis
|
|
- boom
|
|
- bah
|
|
- blah
|
|
```
|
|
then
|
|
```bash
|
|
yq 'pivot' sample.yml
|
|
```
|
|
will output
|
|
```yaml
|
|
- - foo
|
|
- sis
|
|
- - bar
|
|
- boom
|
|
- - baz
|
|
- bah
|
|
- -
|
|
- blah
|
|
```
|
|
|
|
## Pivot sequence of maps
|
|
Given a sample.yml file of:
|
|
```yaml
|
|
- foo: a
|
|
bar: b
|
|
baz: c
|
|
- foo: x
|
|
bar: y
|
|
baz: z
|
|
```
|
|
then
|
|
```bash
|
|
yq 'pivot' sample.yml
|
|
```
|
|
will output
|
|
```yaml
|
|
foo:
|
|
- a
|
|
- x
|
|
bar:
|
|
- b
|
|
- y
|
|
baz:
|
|
- c
|
|
- z
|
|
```
|
|
|
|
## Pivot sequence of heterogeneous maps
|
|
Missing values are "padded" to null.
|
|
|
|
Given a sample.yml file of:
|
|
```yaml
|
|
- foo: a
|
|
bar: b
|
|
baz: c
|
|
- foo: x
|
|
bar: y
|
|
baz: z
|
|
what: ever
|
|
```
|
|
then
|
|
```bash
|
|
yq 'pivot' sample.yml
|
|
```
|
|
will output
|
|
```yaml
|
|
foo:
|
|
- a
|
|
- x
|
|
bar:
|
|
- b
|
|
- y
|
|
baz:
|
|
- c
|
|
- z
|
|
what:
|
|
-
|
|
- ever
|
|
```
|
|
|