小编Mar*_*ork的帖子

使用vim从json中删除大块

我有一个巨大的 json 文件(1/2 百万行)。

我需要删除一组包含某个字符串的条目。

{
    "bla1": {
        "Part1": "Plop1",
        "Part2": "Plop2",
        "Part3": "BadFling1<stuff>",
        "part4": "Plop4",
    },
    "bla2": {
        "Part1": "Plop1",
        "Part2": "Plop2",
        "Part3": "<stuff>",
        "part4": "Plop4",
    },
    // etc for many more entries
}
Run Code Online (Sandbox Code Playgroud)

所有条目都将“BadFling1”作为“Part3”条目的前缀。

我想知道如何自动删除包含“BadFling1”的所有条目的最佳方法。例如,从上面删除错误条目的结果是:

{
    "bla2": {
        "Part1": "Plop1",
        "Part2": "Plop2",
        "Part3": "<stuff>",
        "part4": "Plop4",
    },
    // etc for many more entries
}
Run Code Online (Sandbox Code Playgroud)

我的第一次尝试工作但不够快(因为它有点手动)。

/BadFling1
qan3k5ddq
:map z n@a
Run Code Online (Sandbox Code Playgroud)

现在按住“z”键。

我的 vim foo 不够强大,所以我不确定如何在 vim 中更好地自动化流程。任何帮助表示赞赏。

bash 中的替代方法(也欢迎其他命令行工具)。

bash vim

4
推荐指数
1
解决办法
2269
查看次数

标签 统计

bash ×1

vim ×1