gpt4 book ai didi

json - 使用 JQ 从文件中删除重复的 JSON block

转载 作者:行者123 更新时间:2023-12-02 18:08:00 26 4
gpt4 key购买 nike

我有一个包含数千个条目的 JSON 文件,我需要删除重复的 block 。

以下是该文件的示例:

{ "signatures": [
{
"signatureId": 0050,
"mode": 0
},
{
"signatureId": 0012,
"mode": 0
},
{
"signatureId": 0012,
"mode": 1
}
]}

以下是要实现的目标结果:

{ "signatures": [
{
"signatureId": 0050,
"mode": 0
},
{
"signatureId": 0012,
"mode": 0
}
]}

正如您所见,“mode”值并不重要,真正重要的是“signatureId”不能重复,因此当我们删除整个 block 时,无论“mode”保留哪个,都不是问题。

我只能使用 Shell 和/或 JQ。

最佳答案

使用 unique_by 并将要检查重复项的字段作为其参数。它总是采用第一种(这里是带有 "mode": 0 的)

jq '.signatures |= unique_by(.signatureId)'
{
"signatures": [
{
"signatureId": 12,
"mode": 0
},
{
"signatureId": 50,
"mode": 0
}
]
}

Demo

关于json - 使用 JQ 从文件中删除重复的 JSON block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72884002/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com