mirror of
https://github.com/mikefarah/yq.git
synced 2024-12-19 20:19:04 +00:00
Removing old warning, added xml update warning
This commit is contained in:
parent
eb491e0511
commit
e4b5769477
@ -55,7 +55,7 @@ yq -P sample.json
|
|||||||
if (inputFormat == "x" || inputFormat == "xml") &&
|
if (inputFormat == "x" || inputFormat == "xml") &&
|
||||||
outputFormat != "x" && outputFormat != "xml" &&
|
outputFormat != "x" && outputFormat != "xml" &&
|
||||||
yqlib.XMLPreferences.AttributePrefix == "+" {
|
yqlib.XMLPreferences.AttributePrefix == "+" {
|
||||||
yqlib.GetLogger().Warning("The default xml-attribute-prefix will change in the next release to `+@` to avoid " +
|
yqlib.GetLogger().Warning("The default xml-attribute-prefix will change in the v4.30 to `+@` to avoid " +
|
||||||
"naming conflicts with the default content name, directive name and proc inst prefix. If you need to keep " +
|
"naming conflicts with the default content name, directive name and proc inst prefix. If you need to keep " +
|
||||||
"`+` please set that value explicityly with --xml-attribute-prefix.")
|
"`+` please set that value explicityly with --xml-attribute-prefix.")
|
||||||
}
|
}
|
||||||
|
@ -9,12 +9,6 @@ Add behaves differently according to the type of the LHS:
|
|||||||
Use `+=` as a relative append assign for things like increment. Note that `.a += .x` is equivalent to running `.a = .a + .x`.
|
Use `+=` as a relative append assign for things like increment. Note that `.a += .x` is equivalent to running `.a = .a + .x`.
|
||||||
|
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Concatenate arrays
|
## Concatenate arrays
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -2,12 +2,6 @@
|
|||||||
|
|
||||||
This operator is used to provide alternative (or default) values when a particular expression is either null or false.
|
This operator is used to provide alternative (or default) values when a particular expression is either null or false.
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## LHS is defined
|
## LHS is defined
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -5,12 +5,6 @@ Use the `alias` and `anchor` operators to read and write yaml aliases and anchor
|
|||||||
`yq` supports merge aliases (like `<<: *blah`) however this is no longer in the standard yaml spec (1.2) and so `yq` will automatically add the `!!merge` tag to these nodes as it is effectively a custom tag.
|
`yq` supports merge aliases (like `<<: *blah`) however this is no longer in the standard yaml spec (1.2) and so `yq` will automatically add the `!!merge` tag to these nodes as it is effectively a custom tag.
|
||||||
|
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Merge one map
|
## Merge one map
|
||||||
see https://yaml.org/type/merge.html
|
see https://yaml.org/type/merge.html
|
||||||
|
|
||||||
|
@ -12,12 +12,6 @@ This will do a similar thing to the plain form, however, the RHS expression is r
|
|||||||
### Flags
|
### Flags
|
||||||
- `c` clobber custom tags
|
- `c` clobber custom tags
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Create yaml file
|
## Create yaml file
|
||||||
Running
|
Running
|
||||||
```bash
|
```bash
|
||||||
|
@ -16,12 +16,6 @@ These are most commonly used with the `select` operator to filter particular nod
|
|||||||
- comparison (`>=`, `<` etc) operators [here](https://mikefarah.gitbook.io/yq/operators/compare)
|
- comparison (`>=`, `<` etc) operators [here](https://mikefarah.gitbook.io/yq/operators/compare)
|
||||||
- select operator [here](https://mikefarah.gitbook.io/yq/operators/select)
|
- select operator [here](https://mikefarah.gitbook.io/yq/operators/select)
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## `or` example
|
## `or` example
|
||||||
Running
|
Running
|
||||||
```bash
|
```bash
|
||||||
|
@ -3,12 +3,6 @@
|
|||||||
This creates an array using the expression between the square brackets.
|
This creates an array using the expression between the square brackets.
|
||||||
|
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Collect empty
|
## Collect empty
|
||||||
Running
|
Running
|
||||||
```bash
|
```bash
|
||||||
|
@ -2,12 +2,6 @@
|
|||||||
|
|
||||||
Returns the column of the matching node. Starts from 1, 0 indicates there was no column data.
|
Returns the column of the matching node. Starts from 1, 0 indicates there was no column data.
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Returns column of _value_ node
|
## Returns column of _value_ node
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -10,12 +10,6 @@ This will assign the LHS nodes comments to the expression on the RHS. The RHS is
|
|||||||
### relative form: `|=`
|
### relative form: `|=`
|
||||||
Similar to the plain form, however the RHS evaluates against each matching LHS node! This is useful if you want to set the comments as a relative expression of the node, for instance its value or path.
|
Similar to the plain form, however the RHS evaluates against each matching LHS node! This is useful if you want to set the comments as a relative expression of the node, for instance its value or path.
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Set line comment
|
## Set line comment
|
||||||
Set the comment on the key node for more reliability (see below).
|
Set the comment on the key node for more reliability (see below).
|
||||||
|
|
||||||
|
@ -14,12 +14,6 @@ The following types are currently supported:
|
|||||||
- boolean operators (`and`, `or`, `any` etc) [here](https://mikefarah.gitbook.io/yq/operators/boolean-operators)
|
- boolean operators (`and`, `or`, `any` etc) [here](https://mikefarah.gitbook.io/yq/operators/boolean-operators)
|
||||||
- select operator [here](https://mikefarah.gitbook.io/yq/operators/select)
|
- select operator [here](https://mikefarah.gitbook.io/yq/operators/select)
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Compare numbers (>)
|
## Compare numbers (>)
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -2,12 +2,6 @@
|
|||||||
|
|
||||||
This returns `true` if the context contains the passed in parameter, and false otherwise.
|
This returns `true` if the context contains the passed in parameter, and false otherwise.
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Array contains array
|
## Array contains array
|
||||||
Array is equal or subset of
|
Array is equal or subset of
|
||||||
|
|
||||||
|
@ -2,12 +2,6 @@
|
|||||||
|
|
||||||
This is used to construct objects (or maps). This can be used against existing yaml, or to create fresh yaml documents.
|
This is used to construct objects (or maps). This can be used against existing yaml, or to create fresh yaml documents.
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Collect empty object
|
## Collect empty object
|
||||||
Running
|
Running
|
||||||
```bash
|
```bash
|
||||||
|
@ -25,12 +25,6 @@ Durations are parsed using golangs built in [ParseDuration](https://pkg.go.dev/t
|
|||||||
|
|
||||||
You can durations to time using the `+` operator.
|
You can durations to time using the `+` operator.
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Format: from standard RFC3339 format
|
## Format: from standard RFC3339 format
|
||||||
Providing a single parameter assumes a standard RFC3339 datetime format. If the target format is not a valid yaml datetime format, the result will be a string tagged node.
|
Providing a single parameter assumes a standard RFC3339 datetime format. If the target format is not a valid yaml datetime format, the result will be a string tagged node.
|
||||||
|
|
||||||
|
@ -2,12 +2,6 @@
|
|||||||
|
|
||||||
Deletes matching entries in maps or arrays.
|
Deletes matching entries in maps or arrays.
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Delete entry in map
|
## Delete entry in map
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -2,12 +2,6 @@
|
|||||||
|
|
||||||
Use the `documentIndex` operator (or the `di` shorthand) to select nodes of a particular document.
|
Use the `documentIndex` operator (or the `di` shorthand) to select nodes of a particular document.
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Retrieve a document index
|
## Retrieve a document index
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -25,12 +25,6 @@ XML uses the `--xml-attribute-prefix` and `xml-content-name` flags to identify a
|
|||||||
|
|
||||||
Base64 assumes [rfc4648](https://rfc-editor.org/rfc/rfc4648.html) encoding. Encoding and decoding both assume that the content is a string.
|
Base64 assumes [rfc4648](https://rfc-editor.org/rfc/rfc4648.html) encoding. Encoding and decoding both assume that the content is a string.
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Encode value as json string
|
## Encode value as json string
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -2,12 +2,6 @@
|
|||||||
|
|
||||||
Similar to the same named functions in `jq` these functions convert to/from an object and an array of key-value pairs. This is most useful for performing operations on keys of maps.
|
Similar to the same named functions in `jq` these functions convert to/from an object and an array of key-value pairs. This is most useful for performing operations on keys of maps.
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## to_entries Map
|
## to_entries Map
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -30,12 +30,6 @@ yq '(.. | select(tag == "!!str")) |= envsubst' file.yaml
|
|||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Read string environment variable
|
## Read string environment variable
|
||||||
Running
|
Running
|
||||||
```bash
|
```bash
|
||||||
|
@ -21,12 +21,6 @@ The not equals `!=` operator returns `false` if the LHS is equal to the RHS.
|
|||||||
- select operator [here](https://mikefarah.gitbook.io/yq/operators/select)
|
- select operator [here](https://mikefarah.gitbook.io/yq/operators/select)
|
||||||
|
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Match string
|
## Match string
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -2,12 +2,6 @@
|
|||||||
|
|
||||||
Use this operation to short-circuit expressions. Useful for validation.
|
Use this operation to short-circuit expressions. Useful for validation.
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Validate a particular value
|
## Validate a particular value
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -6,12 +6,6 @@ Use `eval` to dynamically process an expression - for instance from an environme
|
|||||||
|
|
||||||
Tip: This can be useful way parameterise complex scripts.
|
Tip: This can be useful way parameterise complex scripts.
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Dynamically evaluate a path
|
## Dynamically evaluate a path
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -10,12 +10,6 @@ Note the use of eval-all to ensure all documents are loaded into memory.
|
|||||||
yq eval-all 'select(fi == 0) * select(filename == "file2.yaml")' file1.yaml file2.yaml
|
yq eval-all 'select(fi == 0) * select(filename == "file2.yaml")' file1.yaml file2.yaml
|
||||||
```
|
```
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Get filename
|
## Get filename
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -1,12 +1,6 @@
|
|||||||
# Flatten
|
# Flatten
|
||||||
This recursively flattens arrays.
|
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
|
## Flatten
|
||||||
Recursively flattens all arrays
|
Recursively flattens all arrays
|
||||||
|
|
||||||
|
@ -2,12 +2,6 @@
|
|||||||
|
|
||||||
This is used to group items in an array by an expression.
|
This is used to group items in an array by an expression.
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Group by field
|
## Group by field
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -2,12 +2,6 @@
|
|||||||
|
|
||||||
This is operation that returns true if the key exists in a map (or index in an array), false otherwise.
|
This is operation that returns true if the key exists in a map (or index in an array), false otherwise.
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Has map key
|
## Has map key
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -2,12 +2,6 @@
|
|||||||
|
|
||||||
Use the `keys` operator to return map keys or array indices.
|
Use the `keys` operator to return map keys or array indices.
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Map keys
|
## Map keys
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -2,12 +2,6 @@
|
|||||||
|
|
||||||
Returns the lengths of the nodes. Length is defined according to the type of the node.
|
Returns the lengths of the nodes. Length is defined according to the type of the node.
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## String length
|
## String length
|
||||||
returns length of string
|
returns length of string
|
||||||
|
|
||||||
|
@ -2,12 +2,6 @@
|
|||||||
|
|
||||||
Returns the line of the matching node. Starts from 1, 0 indicates there was no line data.
|
Returns the line of the matching node. Starts from 1, 0 indicates there was no line data.
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Returns line of _value_ node
|
## Returns line of _value_ node
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -45,12 +45,6 @@ this.is = a properties file
|
|||||||
bXkgc2VjcmV0IGNoaWxsaSByZWNpcGUgaXMuLi4u
|
bXkgc2VjcmV0IGNoaWxsaSByZWNpcGUgaXMuLi4u
|
||||||
```
|
```
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Simple example
|
## Simple example
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -2,12 +2,6 @@
|
|||||||
|
|
||||||
Maps values of an array. Use `map_values` to map values of an object.
|
Maps values of an array. Use `map_values` to map values of an object.
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Map array
|
## Map array
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -36,12 +36,6 @@ By default - `yq` merge is naive. It merges maps when they match the key name, a
|
|||||||
For more complex array merging (e.g. merging items that match on a certain key) please see the example [here](https://mikefarah.gitbook.io/yq/operators/multiply-merge#merge-arrays-of-objects-together-matching-on-a-key)
|
For more complex array merging (e.g. merging items that match on a certain key) please see the example [here](https://mikefarah.gitbook.io/yq/operators/multiply-merge#merge-arrays-of-objects-together-matching-on-a-key)
|
||||||
|
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Multiply integers
|
## Multiply integers
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -2,12 +2,6 @@
|
|||||||
|
|
||||||
Parent simply returns the parent nodes of the matching nodes.
|
Parent simply returns the parent nodes of the matching nodes.
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Simple example
|
## Simple example
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -7,12 +7,6 @@ You can get the key/index of matching nodes by using the `path` operator to retu
|
|||||||
Use `setpath` to set a value to the path array returned by `path`, and similarly `delpaths` for an array of path arrays.
|
Use `setpath` to set a value to the path array returned by `path`, and similarly `delpaths` for an array of path arrays.
|
||||||
|
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Map path
|
## Map path
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -4,12 +4,6 @@ Filter a map by the specified list of keys. Map is returned with the key in the
|
|||||||
|
|
||||||
Similarly, filter an array by the specified list of indices.
|
Similarly, filter an array by the specified list of indices.
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Pick keys from map
|
## Pick keys from map
|
||||||
Note that the order of the keys matches the pick order and non existent keys are skipped.
|
Note that the order of the keys matches the pick order and non existent keys are skipped.
|
||||||
|
|
||||||
|
@ -2,12 +2,6 @@
|
|||||||
|
|
||||||
Pipe the results of an expression into another. Like the bash operator.
|
Pipe the results of an expression into another. Like the bash operator.
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Simple Pipe
|
## Simple Pipe
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -19,12 +19,6 @@ For instance to set the `style` of all nodes in a yaml doc, including the map ke
|
|||||||
```bash
|
```bash
|
||||||
yq '... style= "flow"' file.yaml
|
yq '... style= "flow"' file.yaml
|
||||||
```
|
```
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Recurse map (values only)
|
## Recurse map (values only)
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -21,12 +21,6 @@ Reduce syntax in `yq` is a little different from `jq` - as `yq` (currently) isn'
|
|||||||
|
|
||||||
To that end, the reduce operator is called `ireduce` for backwards compatibility if a `jq` like prefix version of `reduce` is ever added.
|
To that end, the reduce operator is called `ireduce` for backwards compatibility if a `jq` like prefix version of `reduce` is ever added.
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Sum numbers
|
## Sum numbers
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -2,12 +2,6 @@
|
|||||||
|
|
||||||
Reverses the order of the items in an array
|
Reverses the order of the items in an array
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Reverse
|
## Reverse
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -8,12 +8,6 @@ Select is used to filter arrays and maps by a boolean expression.
|
|||||||
- comparison (`>=`, `<` etc) operators [here](https://mikefarah.gitbook.io/yq/operators/compare)
|
- comparison (`>=`, `<` etc) operators [here](https://mikefarah.gitbook.io/yq/operators/compare)
|
||||||
- boolean operators (`and`, `or`, `any` etc) [here](https://mikefarah.gitbook.io/yq/operators/boolean-operators)
|
- boolean operators (`and`, `or`, `any` etc) [here](https://mikefarah.gitbook.io/yq/operators/boolean-operators)
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Select elements from array using wildcard prefix
|
## Select elements from array using wildcard prefix
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -12,12 +12,6 @@ diff file1.yml file2.yml
|
|||||||
|
|
||||||
Note that `yq` does not yet consider anchors when sorting by keys - this may result in invalid yaml documents if your are using merge anchors.
|
Note that `yq` does not yet consider anchors when sorting by keys - this may result in invalid yaml documents if your are using merge anchors.
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Sort keys of map
|
## Sort keys of map
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -7,12 +7,6 @@ To sort by descending order, pipe the results through the `reverse` operator aft
|
|||||||
Note that at this stage, `yq` only sorts scalar fields.
|
Note that at this stage, `yq` only sorts scalar fields.
|
||||||
|
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Sort by string field
|
## Sort by string field
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -2,12 +2,6 @@
|
|||||||
|
|
||||||
This operator splits all matches into separate documents
|
This operator splits all matches into separate documents
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Split empty
|
## Split empty
|
||||||
Running
|
Running
|
||||||
```bash
|
```bash
|
||||||
|
@ -56,12 +56,6 @@ IFS= read -rd '' output < <(cat my_file)
|
|||||||
output=$output ./yq '.data.values = strenv(output)' first.yml
|
output=$output ./yq '.data.values = strenv(output)' first.yml
|
||||||
```
|
```
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## To up (upper) case
|
## To up (upper) case
|
||||||
Works with unicode characters
|
Works with unicode characters
|
||||||
|
|
||||||
|
@ -2,12 +2,6 @@
|
|||||||
|
|
||||||
The style operator can be used to get or set the style of nodes (e.g. string style, yaml style)
|
The style operator can be used to get or set the style of nodes (e.g. string style, yaml style)
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Update and set style of a particular node (simple)
|
## Update and set style of a particular node (simple)
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -2,12 +2,6 @@
|
|||||||
|
|
||||||
You can use subtract to subtract numbers, as well as removing elements from an array.
|
You can use subtract to subtract numbers, as well as removing elements from an array.
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Array subtraction
|
## Array subtraction
|
||||||
Running
|
Running
|
||||||
```bash
|
```bash
|
||||||
|
@ -2,12 +2,6 @@
|
|||||||
|
|
||||||
The tag operator can be used to get or set the tag of nodes (e.g. `!!str`, `!!int`, `!!bool`).
|
The tag operator can be used to get or set the tag of nodes (e.g. `!!str`, `!!int`, `!!bool`).
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Get tag
|
## Get tag
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -2,12 +2,6 @@
|
|||||||
|
|
||||||
This is the simplest (and perhaps most used) operator, it is used to navigate deeply into yaml structures.
|
This is the simplest (and perhaps most used) operator, it is used to navigate deeply into yaml structures.
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Simple map navigation
|
## Simple map navigation
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -2,12 +2,6 @@
|
|||||||
|
|
||||||
This operator is used to combine different results together.
|
This operator is used to combine different results together.
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Combine scalars
|
## Combine scalars
|
||||||
Running
|
Running
|
||||||
```bash
|
```bash
|
||||||
|
@ -3,12 +3,6 @@
|
|||||||
This is used to filter out duplicated items in an array. Note that the original order of the array is maintained.
|
This is used to filter out duplicated items in an array. Note that the original order of the array is maintained.
|
||||||
|
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Unique array of scalars (string/numbers)
|
## Unique array of scalars (string/numbers)
|
||||||
Note that unique maintains the original order of the array.
|
Note that unique maintains the original order of the array.
|
||||||
|
|
||||||
|
@ -4,12 +4,6 @@ Like the `jq` equivalents, variables are sometimes required for the more complex
|
|||||||
|
|
||||||
Note that there is also an additional `ref` operator that holds a reference (instead of a copy) of the path, allowing you to make multiple changes to the same path.
|
Note that there is also an additional `ref` operator that holds a reference (instead of a copy) of the path, allowing you to make multiple changes to the same path.
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Single value variable
|
## Single value variable
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -2,12 +2,6 @@
|
|||||||
|
|
||||||
Use the `with` operator to conveniently make multiple updates to a deeply nested path, or to update array elements relatively to each other. The first argument expression sets the root context, and the second expression runs against that root context.
|
Use the `with` operator to conveniently make multiple updates to a deeply nested path, or to update array elements relatively to each other. The first argument expression sets the root context, and the second expression runs against that root context.
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Update and style
|
## Update and style
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -5,12 +5,6 @@ Encode and decode to and from JSON. Supports multiple JSON documents in a single
|
|||||||
Note that YAML is a superset of (single document) JSON - so you don't have to use the JSON parser to read JSON when there is only one JSON document in the input. You will probably want to pretty print the result in this case, to get idiomatic YAML styling.
|
Note that YAML is a superset of (single document) JSON - so you don't have to use the JSON parser to read JSON when there is only one JSON document in the input. You will probably want to pretty print the result in this case, to get idiomatic YAML styling.
|
||||||
|
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Parse json: simple
|
## Parse json: simple
|
||||||
JSON is a subset of yaml, so all you need to do is prettify the output
|
JSON is a subset of yaml, so all you need to do is prettify the output
|
||||||
|
|
||||||
|
@ -29,12 +29,6 @@ Fifi,cat
|
|||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Encode CSV simple
|
## Encode CSV simple
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -4,12 +4,6 @@ Encode/Decode/Roundtrip to/from a property file. Line comments on value nodes wi
|
|||||||
|
|
||||||
By default, empty maps and arrays are not encoded - see below for an example on how to encode a value for these.
|
By default, empty maps and arrays are not encoded - see below for an example on how to encode a value for these.
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Encode properties
|
## Encode properties
|
||||||
Note that empty arrays and maps are not encoded by default.
|
Note that empty arrays and maps are not encoded by default.
|
||||||
|
|
||||||
|
@ -16,6 +16,14 @@ This can be controlled by:
|
|||||||
| `--xml-proc-inst-prefix` | `+p_` | ```<?xml version="1"?>``` |
|
| `--xml-proc-inst-prefix` | `+p_` | ```<?xml version="1"?>``` |
|
||||||
|
|
||||||
|
|
||||||
|
{% hint style="warning" %}
|
||||||
|
Default Attribute Prefix will be changing in v4.30!
|
||||||
|
In order to avoid name conflicts (e.g. having an attribute named "content" will create a field that clashes with the default content name of "+content") the attribute prefix will be changing to "+@".
|
||||||
|
|
||||||
|
This will affect users that have not set their own prefix and are not roundtripping XML changes.
|
||||||
|
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
## Encoder / Decoder flag options
|
## Encoder / Decoder flag options
|
||||||
|
|
||||||
In addition to the above flags, there are the following xml encoder/decoder options controlled by flags:
|
In addition to the above flags, there are the following xml encoder/decoder options controlled by flags:
|
||||||
@ -31,12 +39,6 @@ In addition to the above flags, there are the following xml encoder/decoder opti
|
|||||||
|
|
||||||
See below for examples
|
See below for examples
|
||||||
|
|
||||||
{% hint style="warning" %}
|
|
||||||
Note that versions prior to 4.18 require the 'eval/e' command to be specified. 
|
|
||||||
|
|
||||||
`yq e <exp> <file>`
|
|
||||||
{% endhint %}
|
|
||||||
|
|
||||||
## Parse xml: simple
|
## Parse xml: simple
|
||||||
Notice how all the values are strings, see the next example on how you can fix that.
|
Notice how all the values are strings, see the next example on how you can fix that.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user