2021-10-30 03:14:39 +00:00
|
|
|
# Keys
|
|
|
|
|
2021-11-03 04:00:28 +00:00
|
|
|
Use the `keys` operator to return map keys or array indices.
|
2021-10-30 03:14:39 +00:00
|
|
|
|
|
|
|
## Map keys
|
|
|
|
Given a sample.yml file of:
|
|
|
|
```yaml
|
|
|
|
dog: woof
|
|
|
|
cat: meow
|
|
|
|
```
|
|
|
|
then
|
|
|
|
```bash
|
|
|
|
yq eval 'keys' sample.yml
|
|
|
|
```
|
|
|
|
will output
|
|
|
|
```yaml
|
|
|
|
- dog
|
|
|
|
- cat
|
|
|
|
```
|
|
|
|
|
|
|
|
## Array keys
|
|
|
|
Given a sample.yml file of:
|
|
|
|
```yaml
|
|
|
|
- apple
|
|
|
|
- banana
|
|
|
|
```
|
|
|
|
then
|
|
|
|
```bash
|
|
|
|
yq eval 'keys' sample.yml
|
|
|
|
```
|
|
|
|
will output
|
|
|
|
```yaml
|
|
|
|
- 0
|
|
|
|
- 1
|
|
|
|
```
|
2021-11-03 04:00:28 +00:00
|
|
|
|
2021-11-24 00:15:42 +00:00
|
|
|
## Retrieve array key
|
|
|
|
Given a sample.yml file of:
|
|
|
|
```yaml
|
|
|
|
- 1
|
|
|
|
- 2
|
|
|
|
- 3
|
|
|
|
```
|
|
|
|
then
|
|
|
|
```bash
|
|
|
|
yq eval '.[1] | key' sample.yml
|
|
|
|
```
|
|
|
|
will output
|
|
|
|
```yaml
|
|
|
|
1
|
|
|
|
```
|
|
|
|
|
|
|
|
## Retrieve map key
|
|
|
|
Given a sample.yml file of:
|
|
|
|
```yaml
|
|
|
|
a: thing
|
|
|
|
```
|
|
|
|
then
|
|
|
|
```bash
|
|
|
|
yq eval '.a | key' sample.yml
|
|
|
|
```
|
|
|
|
will output
|
|
|
|
```yaml
|
|
|
|
a
|
|
|
|
```
|
|
|
|
|
|
|
|
## No key
|
|
|
|
Given a sample.yml file of:
|
|
|
|
```yaml
|
|
|
|
{}
|
|
|
|
```
|
|
|
|
then
|
|
|
|
```bash
|
|
|
|
yq eval 'key' sample.yml
|
|
|
|
```
|
|
|
|
will output
|
|
|
|
```yaml
|
|
|
|
```
|
|
|
|
|
|
|
|
## Update map key
|
|
|
|
Given a sample.yml file of:
|
|
|
|
```yaml
|
|
|
|
a:
|
|
|
|
x: 3
|
|
|
|
y: 4
|
|
|
|
```
|
|
|
|
then
|
|
|
|
```bash
|
|
|
|
yq eval '(.a.x | key) = "meow"' sample.yml
|
|
|
|
```
|
|
|
|
will output
|
|
|
|
```yaml
|
|
|
|
a:
|
|
|
|
meow: 3
|
|
|
|
y: 4
|
|
|
|
```
|
|
|
|
|
|
|
|
## Get comment from map key
|
|
|
|
Given a sample.yml file of:
|
|
|
|
```yaml
|
|
|
|
a:
|
|
|
|
# comment on key
|
|
|
|
x: 3
|
|
|
|
y: 4
|
|
|
|
```
|
|
|
|
then
|
|
|
|
```bash
|
|
|
|
yq eval '.a.x | key | headComment' sample.yml
|
|
|
|
```
|
|
|
|
will output
|
|
|
|
```yaml
|
|
|
|
comment on key
|
|
|
|
```
|
|
|
|
|