mirror of
https://github.com/mikefarah/yq.git
synced 2024-12-19 20:19:04 +00:00
122 lines
1.6 KiB
Markdown
122 lines
1.6 KiB
Markdown
# Mulitply Operator
|
|
## Examples
|
|
### Merge objects together
|
|
sample.yml:
|
|
```yaml
|
|
{a: {also: me}, b: {also: {g: wizz}}}
|
|
```
|
|
Expression
|
|
```bash
|
|
yq '. * {"a":.b}' < sample.yml
|
|
```
|
|
Result
|
|
```yaml
|
|
{a: {also: {g: wizz}}, b: {also: {g: wizz}}}
|
|
```
|
|
### Merge keeps style of LHS
|
|
sample.yml:
|
|
```yaml
|
|
a: {things: great}
|
|
b:
|
|
also: "me"
|
|
|
|
```
|
|
Expression
|
|
```bash
|
|
yq '. * {"a":.b}' < sample.yml
|
|
```
|
|
Result
|
|
```yaml
|
|
a: {things: great, also: "me"}
|
|
b:
|
|
also: "me"
|
|
```
|
|
### Merge arrays
|
|
sample.yml:
|
|
```yaml
|
|
{a: [1,2,3], b: [3,4,5]}
|
|
```
|
|
Expression
|
|
```bash
|
|
yq '. * {"a":.b}' < sample.yml
|
|
```
|
|
Result
|
|
```yaml
|
|
{a: [3, 4, 5], b: [3, 4, 5]}
|
|
```
|
|
### Merge to prefix an element
|
|
sample.yml:
|
|
```yaml
|
|
{a: cat, b: dog}
|
|
```
|
|
Expression
|
|
```bash
|
|
yq '. * {"a": {"c": .a}}' < sample.yml
|
|
```
|
|
Result
|
|
```yaml
|
|
{a: {c: cat}, b: dog}
|
|
```
|
|
### Merge with simple aliases
|
|
sample.yml:
|
|
```yaml
|
|
{a: &cat {c: frog}, b: {f: *cat}, c: {g: thongs}}
|
|
```
|
|
Expression
|
|
```bash
|
|
yq '.c * .b' < sample.yml
|
|
```
|
|
Result
|
|
```yaml
|
|
{g: thongs, f: *cat}
|
|
```
|
|
### Merge does not copy anchor names
|
|
sample.yml:
|
|
```yaml
|
|
{a: {c: &cat frog}, b: {f: *cat}, c: {g: thongs}}
|
|
```
|
|
Expression
|
|
```bash
|
|
yq '.c * .a' < sample.yml
|
|
```
|
|
Result
|
|
```yaml
|
|
{g: thongs, c: frog}
|
|
```
|
|
### Merge with merge anchors
|
|
sample.yml:
|
|
```yaml
|
|
|
|
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
|
|
<<: [*foo,*bar]
|
|
c: foobarList_c
|
|
|
|
foobar:
|
|
c: foobar_c
|
|
<<: *foo
|
|
thing: foobar_thing
|
|
|
|
```
|
|
Expression
|
|
```bash
|
|
yq '.foobar * .foobarList' < sample.yml
|
|
```
|
|
Result
|
|
```yaml
|
|
c: foobarList_c
|
|
<<: [*foo, *bar]
|
|
thing: foobar_thing
|
|
b: foobarList_b
|
|
```
|