I have different language files like these:
file1
{
    "Pack": [
        {
            "id": "item1",
            "lang": {
                "en": {
                }
            }
        },
        {
            "id": "item2",
            "lang": {
                "en": {
                }
            }
        }
    ]
}
file2
{
    "Pack": [
        {
            "id": "item1",
            "lang": {
                "sp": {
                }
            }
        }
    ]
}
and I need to merge the same ids by lang field. Final file should looks like:
{
    "Pack": [
        {
            "id": "item1",
            "lang": {
                "en": {
                },
                "sp": {
                }
            }
        },
        {
            "id": "item2",
            "lang": {
                "en": {
                }
            }
        }
    ]
}
I think I should use something like more complex command but my starting point is:
jq -s '{ attributes: map(.attributes[0]) }' file*.json
 
    