使用jq删除与正则表达式匹配的键

伊斯梅尔

我想删除所有与正则表达式匹配的字段,同时保留所有其他字段和JSON的结构。例如,假设JSON如下所示。

{
  "this": {
    "foobar": {
      "that": "too"
    },
    "baz": 3,
    "foo": 1
    "morefoo": {
      "foosball": "hi"
    }
  }
}

那么所需的输出将是

{
  "this": {
    "baz": 3,
    "morefoo": {}
  }
}

可以通过明确命名字段来干净地执行此操作,如下所示:

用jq删除与键匹配的对象和数组

jq 'del(.. | .foo?, .foobar?, .foosball?)'

但是我想用正则表达式来做到这一点

jq 'del(.. | .("^foo")?)'  # This does not work

有什么建议吗?如果可能的话,我宁愿避免使用with_entries,但是如果那是唯一的方法,那就这样吧。

这是一个使用以下方法的简单解决方案walk

walk(if type=="object"
     then with_entries(select(.key | test("^foo") | not))
     else . end)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用正则表达式匹配“≈”

来自分类Dev

使用或匹配正则表达式

来自分类Dev

使用正则表达式匹配表达式

来自分类Dev

正则表达式匹配JSON中的键

来自分类Dev

正则表达式匹配JSON中的键

来自分类Dev

从数组中删除空白正则表达式匹配

来自分类Dev

python正则表达式删除匹配的括号文件

来自分类Dev

正则表达式从匹配中删除模式

来自分类Dev

XSLT删除与正则表达式不匹配的元素

来自分类Dev

Perl删除与正则表达式匹配的多行

来自分类Dev

正则表达式替换-删除不匹配的值

来自分类Dev

删除美元匹配正则表达式

来自分类Dev

python正则表达式删除匹配的括号文件

来自分类Dev

删除正则表达式匹配中的空格

来自分类Dev

如何使用正则表达式使用正则表达式匹配以“ $”结尾的内容?

来自分类Dev

PHP使用正则表达式匹配作为POST数组中的键进行替换

来自分类Dev

如何在PostgreSQL中使用正则表达式删除字段匹配模式的结尾?

来自分类Dev

如何使用PowerShell删除与正则表达式匹配的文件夹中的文件?

来自分类Dev

使用记事本++删除与正则表达式匹配的所有行(不)

来自分类Dev

使用正则表达式删除文本块,仅匹配首次出现的文本

来自分类Dev

使用正则表达式删除文本,直到匹配字符串为止

来自分类Dev

使用正则表达式删除除匹配字符串外的所有文本

来自分类Dev

使用正则表达式匹配删除 KDB 列表中的条目?

来自分类Dev

使用正则表达式获取引号内的键

来自分类Dev

使用JavaScript动态键的正则表达式

来自分类Dev

使用正则表达式匹配字符串?

来自分类Dev

使用正则表达式的Java模式匹配

来自分类Dev

如何使用正则表达式匹配多个段落?

来自分类Dev

使用正则表达式匹配文本行

Related 相关文章

  1. 1

    使用正则表达式匹配“≈”

  2. 2

    使用或匹配正则表达式

  3. 3

    使用正则表达式匹配表达式

  4. 4

    正则表达式匹配JSON中的键

  5. 5

    正则表达式匹配JSON中的键

  6. 6

    从数组中删除空白正则表达式匹配

  7. 7

    python正则表达式删除匹配的括号文件

  8. 8

    正则表达式从匹配中删除模式

  9. 9

    XSLT删除与正则表达式不匹配的元素

  10. 10

    Perl删除与正则表达式匹配的多行

  11. 11

    正则表达式替换-删除不匹配的值

  12. 12

    删除美元匹配正则表达式

  13. 13

    python正则表达式删除匹配的括号文件

  14. 14

    删除正则表达式匹配中的空格

  15. 15

    如何使用正则表达式使用正则表达式匹配以“ $”结尾的内容?

  16. 16

    PHP使用正则表达式匹配作为POST数组中的键进行替换

  17. 17

    如何在PostgreSQL中使用正则表达式删除字段匹配模式的结尾?

  18. 18

    如何使用PowerShell删除与正则表达式匹配的文件夹中的文件?

  19. 19

    使用记事本++删除与正则表达式匹配的所有行(不)

  20. 20

    使用正则表达式删除文本块,仅匹配首次出现的文本

  21. 21

    使用正则表达式删除文本,直到匹配字符串为止

  22. 22

    使用正则表达式删除除匹配字符串外的所有文本

  23. 23

    使用正则表达式匹配删除 KDB 列表中的条目?

  24. 24

    使用正则表达式获取引号内的键

  25. 25

    使用JavaScript动态键的正则表达式

  26. 26

    使用正则表达式匹配字符串?

  27. 27

    使用正则表达式的Java模式匹配

  28. 28

    如何使用正则表达式匹配多个段落?

  29. 29

    使用正则表达式匹配文本行

热门标签

归档