mirror of
https://github.com/mikefarah/yq.git
synced 2024-11-12 13:48:06 +00:00
1.6 KiB
1.6 KiB
Keys
Use the keys
operator to return map keys or array indices.
Map keys
Given a sample.yml file of:
dog: woof
cat: meow
then
yq 'keys' sample.yml
will output
- dog
- cat
Array keys
Given a sample.yml file of:
- apple
- banana
then
yq 'keys' sample.yml
will output
- 0
- 1
Retrieve array key
Given a sample.yml file of:
- 1
- 2
- 3
then
yq '.[1] | key' sample.yml
will output
1
Retrieve map key
Given a sample.yml file of:
a: thing
then
yq '.a | key' sample.yml
will output
a
No key
Given a sample.yml file of:
{}
then
yq 'key' sample.yml
will output
Update map key
Given a sample.yml file of:
a:
x: 3
y: 4
then
yq '(.a.x | key) = "meow"' sample.yml
will output
a:
meow: 3
y: 4
Get comment from map key
Given a sample.yml file of:
a:
# comment on key
x: 3
y: 4
then
yq '.a.x | key | headComment' sample.yml
will output
comment on key
Check node is a key
Given a sample.yml file of:
a:
b:
- cat
c: frog
then
yq '[... | { "p": path | join("."), "isKey": is_key, "tag": tag }]' sample.yml
will output
- p: ""
isKey: false
tag: '!!map'
- p: a
isKey: true
tag: '!!str'
- p: a
isKey: false
tag: '!!map'
- p: a.b
isKey: true
tag: '!!str'
- p: a.b
isKey: false
tag: '!!seq'
- p: a.b.0
isKey: false
tag: '!!str'
- p: a.c
isKey: true
tag: '!!str'
- p: a.c
isKey: false
tag: '!!str'