Entries

Similar to the same named functions in jq these functions convert to/from an object and an array of key-value pairs. This is most useful for performing operations on keys of maps.

Use with_entries(op) as a syntactic sugar for doing to_entries | op | from_entries.

to_entries Map

Given a sample.yml file of:

a: 1
b: 2

then

yq 'to_entries' sample.yml

will output

- key: a
  value: 1
- key: b
  value: 2

to_entries Array

Given a sample.yml file of:

- a
- b

then

will output

to_entries null

Given a sample.yml file of:

then

will output

from_entries map

Given a sample.yml file of:

then

will output

from_entries with numeric key indices

from_entries always creates a map, even for numeric keys

Given a sample.yml file of:

then

will output

Use with_entries to update keys

Given a sample.yml file of:

then

will output

Use with_entries to update keys recursively

We use (.. | select(tag="map")) to find all the maps in the doc, then |= to update each one of those maps. In the update, with_entries is used.

Given a sample.yml file of:

then

will output

Custom sort map keys

Use to_entries to convert to an array of key/value pairs, sort the array using sort/sort_by/etc, and convert it back.

Given a sample.yml file of:

then

will output

Use with_entries to filter the map

Given a sample.yml file of:

then

will output

Last updated

Was this helpful?