mirror of
https://github.com/mikefarah/yq.git
synced 2024-11-14 07:08:06 +00:00
960 B
960 B
Pick
Filter a map by the specified list of keys. Map is returned with the key in the order of the pick list.
Similarly, filter an array by the specified list of indices.
{% hint style="warning" %} Note that versions prior to 4.18 require the 'eval/e' command to be specified.
yq e <exp> <file>
{% endhint %}
Pick keys from map
Note that the order of the keys matches the pick order and non existent keys are skipped.
Given a sample.yml file of:
myMap:
cat: meow
dog: bark
thing: hamster
hamster: squeek
then
yq '.myMap |= pick(["hamster", "cat", "goat"])' sample.yml
will output
myMap:
hamster: squeek
cat: meow
Pick indices from array
Note that the order of the indexes matches the pick order and non existent indexes are skipped.
Given a sample.yml file of:
- cat
- leopard
- lion
then
yq 'pick([2, 0, 734, -5])' sample.yml
will output
- lion
- cat