Using yq, delete any key whose scalar value is false

Viewed 17

I would like to delete all keys that have a scalar value of false, using https://github.com/mikefarah/yq:

Input

project: false_deletion
fields:
  name:
    numeric: false
    value: John
  age:
    value: 25
    numeric: true
  address:
    value: 123 Main St
    numeric: false

Desired output

project: false_deletion
fields:
  name:
    value: John
  age:
    value: 25
    numeric: true
  address:
    value: 123 Main St
1 Answers
yq e 'del(.. | select(. == false))' input

Will del() all those keys where the value is false.

Output:

project: false_deletion
fields:
  name:
    value: John
  age:
    value: 25
    numeric: true
  address:
    value: 123 Main St
Related