mirror of
https://github.com/mikefarah/yq.git
synced 2024-12-19 20:19:04 +00:00
1.5 KiB
1.5 KiB
Equals / Not Equals
This is a boolean operator that will return true
if the LHS is equal to the RHS and false
otherwise.
.a == .b
It is most often used with the select operator to find particular nodes:
select(.a == .b)
The not equals !=
operator returns false
if the LHS is equal to the RHS.
{% 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
Given a sample.yml file of:
- cat
- goat
- dog
then
yq '.[] | (. == "*at")' sample.yml
will output
true
true
false
Don't match string
Given a sample.yml file of:
- cat
- goat
- dog
then
yq '.[] | (. != "*at")' sample.yml
will output
false
false
true
Match number
Given a sample.yml file of:
- 3
- 4
- 5
then
yq '.[] | (. == 4)' sample.yml
will output
false
true
false
Dont match number
Given a sample.yml file of:
- 3
- 4
- 5
then
yq '.[] | (. != 4)' sample.yml
will output
true
false
true
Match nulls
Running
yq --null-input 'null == ~'
will output
true
Non exisitant key doesn't equal a value
Given a sample.yml file of:
a: frog
then
yq 'select(.b != "thing")' sample.yml
will output
a: frog
Two non existent keys are equal
Given a sample.yml file of:
a: frog
then
yq 'select(.b == .c)' sample.yml
will output
a: frog