Jq
‘Ternary Operator’ with JQ: Checking for Empty Values
As you noticed I use JQ commonly like RegExp. I recently used select(.!=null) to filter for non-null values. Turns out I missed something in docs:
jq -nc '{a:1},[1,23],true,null,42|values'
OUTPUT
{"a":1}
[1,23]
true
42
jq -nc '{a:1},[1,23],true,null,42|iterables'
OUTPUT
{"a":1}
[1,23]
jq -nc '{a:1},[1,23],true,null,42|nulls'
OUTPUT
null
Now that can be used to set defaults:
jq -nc '.notset?|values // "default"'
OUTPUT
"default"
$ jq -nc '.notset|values // "default"'
OUTPUT