mirror of
https://github.com/mikefarah/yq.git
synced 2024-11-13 22:38:04 +00:00
Improve merge docs
This commit is contained in:
parent
1d06d8b482
commit
b55f52f377
@ -31,6 +31,10 @@ NAME=mike yq -i '.a.b[0].c = strenv(NAME)' file.yaml
|
|||||||
|
|
||||||
Merge multiple files
|
Merge multiple files
|
||||||
```bash
|
```bash
|
||||||
|
# merge two files
|
||||||
|
yq -n 'load("file1.yaml") * load("file2.yaml")'
|
||||||
|
|
||||||
|
# merge using globs:
|
||||||
# note the use of `ea` to evaluate all the files at once
|
# note the use of `ea` to evaluate all the files at once
|
||||||
# instead of in sequence
|
# instead of in sequence
|
||||||
yq ea '. as $item ireduce ({}; . * $item )' path/to/*.yml
|
yq ea '. as $item ireduce ({}; . * $item )' path/to/*.yml
|
||||||
|
@ -3,7 +3,9 @@
|
|||||||
Like the multiple operator in jq, depending on the operands, this multiply operator will do different things. Currently numbers, arrays and objects are supported.
|
Like the multiple operator in jq, depending on the operands, this multiply operator will do different things. Currently numbers, arrays and objects are supported.
|
||||||
|
|
||||||
## Objects and arrays - merging
|
## Objects and arrays - merging
|
||||||
Objects are merged deeply matching on matching keys. By default, array values override and are not deeply merged.
|
Objects are merged _deeply_ matching on matching keys. By default, array values override and are not deeply merged.
|
||||||
|
|
||||||
|
You can use the add operator `+`, to shallow merge objects, see more info [here](https://mikefarah.gitbook.io/yq/operators/add).
|
||||||
|
|
||||||
Note that when merging objects, this operator returns the merged object (not the parent). This will be clearer in the examples below.
|
Note that when merging objects, this operator returns the merged object (not the parent). This will be clearer in the examples below.
|
||||||
|
|
||||||
@ -16,6 +18,7 @@ You can control how objects are merged by using one or more of the following fla
|
|||||||
- `n` only merge _new_ fields
|
- `n` only merge _new_ fields
|
||||||
- `c` clobber custom tags
|
- `c` clobber custom tags
|
||||||
|
|
||||||
|
To perform a shallow merge only, use the add operator `+`, see more info [here](https://mikefarah.gitbook.io/yq/operators/add).
|
||||||
|
|
||||||
### Merge two files together
|
### Merge two files together
|
||||||
This uses the load operator to merge file2 into file1.
|
This uses the load operator to merge file2 into file1.
|
||||||
|
@ -3,7 +3,9 @@
|
|||||||
Like the multiple operator in jq, depending on the operands, this multiply operator will do different things. Currently numbers, arrays and objects are supported.
|
Like the multiple operator in jq, depending on the operands, this multiply operator will do different things. Currently numbers, arrays and objects are supported.
|
||||||
|
|
||||||
## Objects and arrays - merging
|
## Objects and arrays - merging
|
||||||
Objects are merged deeply matching on matching keys. By default, array values override and are not deeply merged.
|
Objects are merged _deeply_ matching on matching keys. By default, array values override and are not deeply merged.
|
||||||
|
|
||||||
|
You can use the add operator `+`, to shallow merge objects, see more info [here](https://mikefarah.gitbook.io/yq/operators/add).
|
||||||
|
|
||||||
Note that when merging objects, this operator returns the merged object (not the parent). This will be clearer in the examples below.
|
Note that when merging objects, this operator returns the merged object (not the parent). This will be clearer in the examples below.
|
||||||
|
|
||||||
@ -16,6 +18,7 @@ You can control how objects are merged by using one or more of the following fla
|
|||||||
- `n` only merge _new_ fields
|
- `n` only merge _new_ fields
|
||||||
- `c` clobber custom tags
|
- `c` clobber custom tags
|
||||||
|
|
||||||
|
To perform a shallow merge only, use the add operator `+`, see more info [here](https://mikefarah.gitbook.io/yq/operators/add).
|
||||||
|
|
||||||
### Merge two files together
|
### Merge two files together
|
||||||
This uses the load operator to merge file2 into file1.
|
This uses the load operator to merge file2 into file1.
|
||||||
|
Loading…
Reference in New Issue
Block a user