Comparar ficheros

A menudo es necesario comparar ficheros. Existen numerosos programas; pero me encuentro con que cada uno de ellos tiene un problema que hace que no me solucione la vida en todas las ocasiones. Se me ha ocurrido comentarlo aquí para ver si entre todos podemos aportar ideas.

DIFF

  • Paquete Debian.
  • Interfaz: ascii. No es interactivo.
  • Repositorios: No.
  • Compara binarios: Sí (-a)
  • Máximo ficheros: 2
  • Hexadecimal: No?
  • Ebcdic: no
  • Licencia: GPL
  • Permite edición: No
  • Automatizable: Sí
  • Genera patches: Sí

MELD

  • Paquete Debian.
  • Interfaz: GTK
  • Repositorios: CVS/SVN (limitado)
  • Compara binarios: No
  • Máximo ficheros: 3
  • Hexadecimal: no
  • Ebcdic: no
  • Licencia: GPL
  • Permite edición: Sí
  • Automatizable: No
  • Genera patches: No?

VBINDIFF

  • Paquete Debian.
  • Interfaz: ascii
  • Repositorios: no.
  • Compara binarios: Sí
  • Máximo ficheros: 2
  • Hexadecimal: Sí
  • Ebcdic: sí
  • Licencia:GPL
  • Permite edición: No
  • Automatizable: No
  • Genera patches: No?
  • Bugs: da problemas con más de 4Gb

Tabla comparativa

.deb Ifaz Repos Bin Max Fich Hex EBCDIC Licencia Edit Auto Patch Comentarios
DIFF ascii no sí (-a) 2 no? no GPL no
MELD GTK CVS/SVN no 3 no no GPL no no
VBINDIFF ascii no si 2 GPL no no no? Puede dar problemas con más de 4 Gb.

(aquí me falta una leyenda de lo que he puesto en la tablica)

Otras notas

Se agradece vuestra colaboración, aportando nuevos comparadores así como otras características por la que compararlos entre sí (qué paradoja ;)).

Poco a poco los iré añadiendo al artículo. En cuanto pueda haré una tablita comparativa.

Enlace

Hace ya algún tiempo que comencé esta receta... y hoy me encuentro esto en la wikipedia, que no deja de sorprenderme.

Ale, el trabajo ya estaba hecho ;)

Agradecimientos y colaboradores

  • Arturo

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de arturo

Diferencia de ficheros

Meld esta muy bien, visualmente está bien hecho y ayuda mucho a ver las diferencias entre ficheros. Pero como dices no compara ficheros binarios y tiene un maximo de 3. Esta bien para programar, pero cualquier entorno de desarrollo decente (eclipse) trae el suyo propio, asi que yo por lo menos lo descarto.

Al final me quedo con el diff y familia de toda la vida, son fácilmente automatizables para shell scripts y muestran la información que interesa sin tantas virguerias.

**********************************************************************************
Hay tontos que tontos parecen, hay tontos que tontos son, pero
hay una clase peor de tontos que hacen parecer tontos a los que
listos son.
**********************************************************************************

**********************************************************************************
Hay tontos que tontos parecen, hay tontos que tontos son, pero
hay una clase peor de tontos que hacen parecer tontos a los que
listos son.
*****************************

Imagen de arturo

Ejemplo práctico de diff

Hoy, haciendo un upgrade de mi portatil me he encontrado con un problemilla fácil de arreglar con diff. Resulta que habia un problemilla con el parseo en /var/lib/dpkg/available. Pos nada:

# diff /var/lib/dpkg/available /var/lib/dpkg/available-old

242681c242681
< Depends: libgtk-perl (= 0.7009-6), perl (>= 5.8.7-5), perlapi-5.8.7, libc6 (>= 2.3.5-1), libglib1.2 (>= 1.2.0), libgtk1.2 (>= 1.2.10-4), libgtkxmhtml1 (>= 1.4.2-3), libice6 | xlibs (>> 4.1.0), libjpeg62, libsm6 | xlibs (>> 4.1.0), libx11-6 | xlibs (>> 4.1.0), libxext6 | xlibs (>> 4.1.0), libxi6 | xlibs (>> 4.1.0), libxpm4 | xlibs (>> 4.1.0), Debian XML/SGML Group  (>= 1:1.2.1)
---
> Depends: libgtk-perl (= 0.7009-6), perl (>= 5.8.7-5), perlapi-5.8.7, libc6 (>= 2.3.5-1), libglib1.2 (>= 1.2.0), libgtk1.2 (>= 1.2.10-4), libgtkxmhtml1 (>= 1.4.2-3), libice6 | xlibs (>> 4.1.0), libjpeg62, libsm6 | xlibs (>> 4.1.0), libx11-6 | xlibs (>> 4.1.0), libxext6 | xlibs (>> 4.1.0), libxi6 | xlibs (>> 4.1.0), libxpm4 | xlibs (>> 4.1.0), zlib1g (>= 1:1.2.1)

Donde esta la diferencia ?? Laughing out loud. No entro a comentar el tamaño de los dos ficheros Eye-wink

Un saludo, Arturo.

**********************************************************************************
Hay tontos que tontos parecen, hay tontos que tontos son, pero
hay una clase peor de tontos que hacen parecer tontos a los que
listos son.
**********************************************************************************

**********************************************************************************
Hay tontos que tontos parecen, hay tontos que tontos son, pero
hay una clase peor de tontos que hacen parecer tontos a los que
listos son.
*****************************