¿Cómo comparar 10 grandes files XML?

Tengo 10 files XML grandes y algunos files son diferentes de otros (representa datos en un paso del process).

¿Cómo compararlos AUTOMÁTICAMENTE ?

Sé que puedo compararlos manualmente usando herramientas como WinMerge u ojos, pero no me gusta ese enfoque.

Me gustaría que lo haga en una máquina con Windows, pero tengo instalado Cygwin .

Creo que de alguna manera puedo usar git diff para hacer eso, pero … ¿cómo?

Si todo lo que quiere saber es la diferencia, el más simple (¡no el más rápido!) Será hacer un hash sobre ellos y comparar los resultados. md5sum yourfile * .xml y ver qué inputs son idénticas.

Sería más eficiente compararlos de una manera diferente, pero no creo que haya herramientas estándar para eso; sin embargo, un progtwig pequeño funcionaría.

Open all files to be companetworking Loop over the character indices fetch character from each, compare remove from list those which are not identical / group those who have the same 

Entonces, en la primera diferencia, puede limitar su búsqueda, dependiendo de lo que quiera hacer. El cálculo de una sum de comprobación / hash hará esto sobre los files completos de forma pnetworkingeterminada; usted escribió sobre files grandes

Yo iría con el md5sum (shasum, …) por el momento, sin embargo.

¿Necesita una comparación con XML, por ejemplo, una que reconozca que el order de los attributes no es significativo? De ser así, puede comparar los files analizándolos y utilizando la function de igualdad profunda () en XPath o XQuery. Alternativamente, puede convertir los files en formatting canónico XML y luego comparar los files canonicalizados por bytes.

Si necesita un análisis de las diferencias, en lugar de simplemente un valor boolean que le dice que son diferentes, hay un producto llamado DeltaXML que se especializa en esto. No es gratis

Si solo quiere determinar rápidamente si los files son iguales o no, podría considerar usar un algorithm hash – md5 cada file y comparar los hashes resultantes.

Bueno, la forma más sencilla de comparar dos files es utilizar el file diff file1 file2 . Puede agregar las opciones -b y -B para ignorar las diferencias de espacios en blanco y líneas blancas: diff -bB file1 file2 . testing man diff .

Si quieres hacer eso para muchos files, usa un script.

git diff es relevante si compara dos revisiones del mismo file.

my2c