Como posso classificar completamente JSON arbitrário usando jq?

Eu quero diferenciar dois arquivos de texto JSON. Infelizmente, eles são construídos em ordem arbitrária, então recebo diffs quando são semanticamente idênticos. Eu gostaria de usar jq (ou qualquer outra coisa) para classificá-los em qualquer tipo de ordem completa, para eliminar diferenças devido apenas à ordem dos elementos.

--sort-keys resolve metade do problema, mas não classifica as matrizes.

Sou bastante ignorante de jq e não sei como escrever um filtro recursivo de jq que preserve todos os dados; Qualquer ajuda seria apreciada.

Percebo que a saída 'diff' linha a linha não é necessariamente a melhor maneira de comparar dois objetos complexos, mas neste caso eu sei que os dois arquivos são muito semelhantes (quase idênticos) e as diferenças linha a linha são boas para os meus propósitos.

Usando jq ou ferramentas de linha de comando alternativas para diferenciar arquivos JSON responde a uma pergunta muito semelhante, mas não imprime as diferenças. Além disso, quero salvar os resultados classificados, portanto, o que realmente quero é apenas um programa de filtro para classificar JSON.

questionAnswers(2)

yourAnswerToTheQuestion