mirror of
https://github.com/mikefarah/yq.git
synced 2024-12-19 20:19:04 +00:00
62 lines
761 B
Markdown
62 lines
761 B
Markdown
|
# Divide
|
||
|
|
||
|
Divide behaves differently according to the type of the LHS:
|
||
|
* strings: split by the divider
|
||
|
* number: arithmetic division
|
||
|
|
||
|
## String split
|
||
|
Given a sample.yml file of:
|
||
|
```yaml
|
||
|
a: cat_meow
|
||
|
b: _
|
||
|
```
|
||
|
then
|
||
|
```bash
|
||
|
yq '.c = .a / .b' sample.yml
|
||
|
```
|
||
|
will output
|
||
|
```yaml
|
||
|
a: cat_meow
|
||
|
b: _
|
||
|
c:
|
||
|
- cat
|
||
|
- meow
|
||
|
```
|
||
|
|
||
|
## Number division
|
||
|
The result during division is calculated as a float
|
||
|
|
||
|
Given a sample.yml file of:
|
||
|
```yaml
|
||
|
a: 12
|
||
|
b: 2.5
|
||
|
```
|
||
|
then
|
||
|
```bash
|
||
|
yq '.a = .a / .b' sample.yml
|
||
|
```
|
||
|
will output
|
||
|
```yaml
|
||
|
a: 4.8
|
||
|
b: 2.5
|
||
|
```
|
||
|
|
||
|
## Number division by zero
|
||
|
Dividing by zero results in +Inf or -Inf
|
||
|
|
||
|
Given a sample.yml file of:
|
||
|
```yaml
|
||
|
a: 1
|
||
|
b: -1
|
||
|
```
|
||
|
then
|
||
|
```bash
|
||
|
yq '.a = .a / 0 | .b = .b / 0' sample.yml
|
||
|
```
|
||
|
will output
|
||
|
```yaml
|
||
|
a: !!float +Inf
|
||
|
b: !!float -Inf
|
||
|
```
|
||
|
|