mirror of
https://github.com/mikefarah/yq.git
synced 2024-12-19 20:19:04 +00:00
v4.22.1
This commit is contained in:
parent
85df955bf1
commit
a253c51310
53
operators/pick.md
Normal file
53
operators/pick.md
Normal file
@ -0,0 +1,53 @@
|
||||
# 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:
|
||||
```yaml
|
||||
myMap:
|
||||
cat: meow
|
||||
dog: bark
|
||||
thing: hamster
|
||||
hamster: squeek
|
||||
```
|
||||
then
|
||||
```bash
|
||||
yq '.myMap |= pick(["hamster", "cat", "goat"])' sample.yml
|
||||
```
|
||||
will output
|
||||
```yaml
|
||||
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:
|
||||
```yaml
|
||||
- cat
|
||||
- leopard
|
||||
- lion
|
||||
```
|
||||
then
|
||||
```bash
|
||||
yq 'pick([2, 0, 734, -5])' sample.yml
|
||||
```
|
||||
will output
|
||||
```yaml
|
||||
- lion
|
||||
- cat
|
||||
```
|
||||
|
@ -144,16 +144,3 @@ person.pets.0 = dog
|
||||
person.food.0 = pizza
|
||||
```
|
||||
|
||||
## Empty doc
|
||||
Given a sample.properties file of:
|
||||
```properties
|
||||
|
||||
```
|
||||
then
|
||||
```bash
|
||||
yq -p=props sample.properties
|
||||
```
|
||||
will output
|
||||
```yaml
|
||||
```
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user