如何递归删除与给定模式匹配的所有键?
我有以下jq配置,但它似乎不起作用:
walk( if (type == "object" and (.[] | test('.*'))) then del(.) else . end)
答案 0 :(得分:4)
删除与模式匹配的所有键(比如PATTERN)的一种强大的方法(相对于不同的jq版本)将使用这个成语:
with_entries(select( .key | test(PATTERN) | not))
将其插入walk/1
会产生:
walk(if type == "object" then with_entries(select(.key | test(PATTERN) | not)) else . end)