mirror of
https://github.com/mikefarah/yq.git
synced 2024-12-19 20:19:04 +00:00
1.4 KiB
1.4 KiB
Add behaves differently according to the type of the LHS:
- arrays: concatenate
- number scalars: arithmetic addition (soon)
- string scalars: concatenate (soon)
Use +=
as append assign for things like increment. .a += .x
is equivalent to running .a |= . + .x
.
Concatenate and assign arrays
Given a sample.yml file of:
a:
val: thing
b:
- cat
- dog
then
yq eval '.a.b += ["cow"]' sample.yml
will output
a:
val: thing
b:
- cat
- dog
- cow
Concatenate arrays
Given a sample.yml file of:
a:
- 1
- 2
b:
- 3
- 4
then
yq eval '.a + .b' sample.yml
will output
- 1
- 2
- 3
- 4
Concatenate null to array
Given a sample.yml file of:
a:
- 1
- 2
then
yq eval '.a + null' sample.yml
will output
- 1
- 2
Add object to array
Given a sample.yml file of:
a:
- 1
- 2
c:
cat: meow
then
yq eval '.a + .c' sample.yml
will output
- 1
- 2
- cat: meow
Add string to array
Given a sample.yml file of:
a:
- 1
- 2
then
yq eval '.a + "hello"' sample.yml
will output
- 1
- 2
- hello
Update array (append)
Given a sample.yml file of:
a:
- 1
- 2
b:
- 3
- 4
then
yq eval '.a = .a + .b' sample.yml
will output
a:
- 1
- 2
- 3
- 4
b:
- 3
- 4