¿Cómo puedo ordenar completamente JSON arbitrario usando jq?

Quiero diferenciar dos archivos de texto JSON. Desafortunadamente, están construidos en orden arbitrario, por lo que obtengo diferencias cuando son semánticamente idénticos. Me gustaría usar jq (o lo que sea) para ordenarlos en cualquier tipo de orden completo, para eliminar las diferencias debidas solo al orden de los elementos.

--sort-keys resuelve la mitad del problema, pero no ordena las matrices.

Soy bastante ignorante de jq y no sé cómo escribir un filtro recursivo jq que conserve todos los datos; Cualquier ayuda sería apreciada.

Me doy cuenta de que la salida 'diff' línea por línea no es necesariamente la mejor manera de comparar dos objetos complejos, pero en este caso sé que los dos archivos son muy similares (casi idénticos) y las diferencias línea por línea están bien para mis propósitos

Uso de jq o herramientas de línea de comando alternativas para diferenciar archivos JSON responde una pregunta muy similar, pero no imprime las diferencias. Además, quiero guardar los resultados ordenados, por lo que lo que realmente quiero es solo un programa de filtro para ordenar JSON.

Respuestas a la pregunta(2)

Su respuesta a la pregunta