Grep-JSON代码块

Grep-JSON代码块,json,Json,您好,我有一个相当长的JSON文件,其中包含一系列条目,例如: { Title: ABC123 Date: 583838484483 User: ABC33333 }, ...etc 我要寻找的是能够grep一个字符串,如果它包含在该代码块中的任何地方,则返回整个代码块。你能帮忙吗 好的,我想我已经完成了一半,所以我可以让awk在{}之间打印,但是现在我如何让它也将每个块打印到自己的文件中呢 cat all.txt /{/ , /},/ { print $0 }>test.tx

您好,我有一个相当长的JSON文件,其中包含一系列条目,例如:

    {
Title: ABC123
Date: 583838484483
User: ABC33333
},
...etc
我要寻找的是能够grep一个字符串,如果它包含在该代码块中的任何地方,则返回整个代码块。你能帮忙吗

好的,我想我已经完成了一半,所以我可以让awk在{}之间打印,但是现在我如何让它也将每个块打印到自己的文件中呢

cat all.txt  /{/ , /},/ { print $0 }>test.txt
您可以将grep与--before context和--after context选项一起使用,如:

grep --before-context=5 --after-context=5 "User: ABC33333" file.json

如果您想要一个大致的答案,可以尝试使用上下文选项(
-C
显示
n
前后的行)谢谢,但如果我正在grepping的内容恰好在最后一行中,我希望它上面的所有行,而不是下面的x行,因为这将剪切到下一个可能不匹配的代码块。文件有多大?您可以尝试将其加载到javascript数组中,并选择符合所需条件的对象。另一种选择是将该json对象加载到数据库中并查询记录,然后将这些记录写入json。