2009-02-12 13 views
7

¿alguien puede recomendar una buena utilidad de línea de comandos (con suerte) gratis? Básicamente tendría que iniciarlo desde .Net para producir algún tipo de archivo de texto con las diferencias entre dos archivos xml.Línea de comando diff utilidad

Gracias!

+0

Sugeriría alguna indicación de qué plataforma, aparte de una referencia casual a .Net en la segunda oración de la pregunta. –

Respuesta

4

Echa un vistazo MSYS, te da diff y todas las utilidades comunes de GNU en Windows.

Como alguien más dijo, también puede obtener diff y todo eso en Windows instalando Cygwin.

+0

la utilidad más pertinente es "diff". También puede obtenerlo a través de cygwin, que es mi enfoque preferido. – rmeador

8

Siempre se puede usar la compilación en la herramienta de comparación de archivos fc de windows pero, aunque no es gratis, recomendaría Beyond Compare. Además de ser una muy buena herramienta gráfica de diferenciación, también se puede usar desde la línea de comandos.

+0

si esto se va a integrar en una aplicación, no creo que algo como Beyond Compare sea una buena opción (aunque es un gran programa gráfico de diferencias). Una pequeña herramienta, o mejor aún, una biblioteca, parece ser el camino a seguir. – rmeador

+0

@rmeador, una biblioteca sería mejor.Sin embargo, el operador pidió una utilidad de línea de comandos. –

2

Bueno, Windows ya viene con uno: FC.EXE Probablemente no sea lo mejor que uno pueda encontrar, pero puede ser que sea lo suficientemente bueno para lo que lo necesita.

+0

FC parece estar roto en Windows 7 - se niega a reconocer una carpeta perfectamente válida como tal. – Johan

3

texto plano diff no siempre se las arreglan muy bien xml.

Aquí es una pregunta existente, de modo que pueda ayudar: XML Diff and Merge

2

WinMerge siempre trabajó para mí. Por otro lado, si quiere algo ligero, extreme, ExamDiff es solo un archivo exe. Ninguno de ellos es línea de comandos, sin embargo.

Para eso yo recomendaría simplemente diff simple, en combinación con, por ejemplo, vim y algún complemento, dependiendo de sus preferencias. Diff viene con unxutils, que alguien ya dio el enlace (ver arriba).

+0

WinMerge ofrece acceso de línea de comando – JohnZaj

2

Sé que esto es un hilo viejo, pero XML Diff de Microsoft y la herramienta Parche funciona bien para el uso que usted describe:

http://msdn.microsoft.com/en-us/library/aa302294.aspx

La diferencia importante es que se trata de una utilidad diffing XML en lugar de una texto diff utilidad. Las utilidades que difieren en el texto reportarán una gran cantidad de falsos positivos si los nodos o atributos están en un orden diferente.

Si descarga el código de muestra, puede compilar XmlDiffView, que se puede usar para generar buenos informes HTML de las diferencias entre los archivos xml.

Lo he usado para diferir un gran número de archivos app.config y web.config, y me pareció práctico.

Cuestiones relacionadas