yq/operators/contains.md
2022-02-06 14:41:27 +11:00

1.2 KiB

Contains

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 is equal or subset of

Given a sample.yml file of:

- foobar
- foobaz
- blarp

then

yq 'contains(["baz", "bar"])' sample.yml

will output

true

Object included in array

Given a sample.yml file of:

"foo": 12
"bar":
  - 1
  - 2
  - "barp": 12
    "blip": 13

then

yq 'contains({"bar": [{"barp": 12}]})' sample.yml

will output

true

Object not included in array

Given a sample.yml file of:

"foo": 12
"bar":
  - 1
  - 2
  - "barp": 12
    "blip": 13

then

yq 'contains({"foo": 12, "bar": [{"barp": 15}]})' sample.yml

will output

false

String contains substring

Given a sample.yml file of:

foobar

then

yq 'contains("bar")' sample.yml

will output

true

String equals string

Given a sample.yml file of:

meow

then

yq 'contains("meow")' sample.yml

will output

true