mirror of
https://github.com/mikefarah/yq.git
synced 2024-12-19 20:19:04 +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