mirror of
https://github.com/mikefarah/yq.git
synced 2026-03-10 15:54:26 +00:00
1.1 KiB
1.1 KiB
Kind
The kind operator identifies the type of a node as either scalar, map, or seq.
This can be used for filtering or transforming nodes based on their type.
Note that null values are treated as scalar.
Get kind
Given a sample.yml file of:
a: cat
b: 5
c: 3.2
e: true
f: []
g: {}
h: null
then
yq '.. | kind' sample.yml
will output
map
scalar
scalar
scalar
scalar
seq
map
scalar
Get kind, ignores custom tags
Unlike tag, kind is not affected by custom tags.
Given a sample.yml file of:
a: !!thing cat
b: !!foo {}
c: !!bar []
then
yq '.. | kind' sample.yml
will output
map
scalar
map
seq
Add comments only to scalars
An example of how you can use kind
Given a sample.yml file of:
a:
b: 5
c: 3.2
e: true
f: []
g: {}
h: null
then
yq '(.. | select(kind == "scalar")) line_comment = "this is a scalar"' sample.yml
will output
a:
b: 5 # this is a scalar
c: 3.2 # this is a scalar
e: true # this is a scalar
f: []
g: {}
h: null # this is a scalar