Las 9 mejores herramientas de comparación y diferencia de archivos (Diff) para Linux


Al escribir archivos de programa o archivos de texto normales, los programadores y escritores a veces desean saber la diferencia entre dos archivos o dos versiones del mismo archivo. Cuando compara dos archivos de computadora en Linux, la diferencia entre sus contenidos se llama diff . Esta descripción nació de una referencia a la salida de diff, la conocida utilidad de comparación de archivos de línea de comandos de Unix.

Existen varias herramientas de comparación de archivos que puede usar en Linux, y en esta revisión, veremos algunas de las mejores herramientas de GUI basadas en terminales y en las que puede aprovechar al escribir código u otros archivos de texto.

1. comando de diff

Me gustaría comenzar con la herramienta de línea de comandos original de Unix que muestra la diferencia entre dos archivos de computadora. Diff es simple y fácil de usar, viene preinstalado en la mayoría de las distribuciones de Linux. Compara los archivos línea por línea y genera la diferencia entre ellos.

Puede consultar la entrada del manual de diff para usarla fácilmente.

# man diff

Hay algunos envoltorios para la herramienta diff que mejoran su funcionalidad y estos incluyen:

Colordiff es un script de Perl que produce el mismo resultado que diff , pero con color y resaltado de sintaxis. Tiene esquemas de color personalizables.

Puede instalar Colordiff en sus sistemas Linux, usando las herramientas predeterminadas del administrador de paquetes llamadas yum, dnf o apt-get como se muestra.

# yum install colordiff             [On CentOS/RHEL/Fedora]
# dnf install colordiff             [On Fedora 23+ version]
$ sudo apt-get install colordiff    [On Debian/Ubuntu/Mint]

Puede consultar la entrada manual para Colordiff como se muestra.

# man colordiff

La utilidad wdiff es una interfaz para el comando diff que se utiliza para comparar archivos palabra por palabra. Este programa es muy útil cuando se comparan dos textos para las palabras cambiadas y para qué párrafos se han rellenado.

Para instalar wdiff en sus sistemas Linux, ejecute:

# yum install wdiff             [On CentOS/RHEL/Fedora]
# dnf install wdiff             [On Fedora 23+ version]
$ sudo apt-get install wdiff    [On Debian/Ubuntu/Mint]

Use el manual wdiff para usarlo en Linux.

# man wdiff

2. Comando Vimdiff

Vimdiff funciona de manera avanzada en comparación con la utilidad diff . Permite a un usuario editar hasta cuatro versiones de un archivo mientras muestra sus diferencias. Cuando lo ejecutas, Vimdiff abre dos o tres o cuatro archivos usando el editor de texto vim.

Visite la página principal : http://vimdoc.sourceforge.net/htmldoc/diff.html

Habiendo examinado las herramientas diff de la vieja escuela, pasemos rápidamente a algunas herramientas GUI diff disponibles en Linux.

3. Kompare

Kompare es una envoltura de GUI de diferencia que permite a los usuarios ver las diferencias entre los archivos y también fusionarlos.

Algunas de sus características incluyen:

  1. Supports multiple diff formats
  2. Supports comparison of directories
  3. Supports reading diff files
  4. Customizable interface
  5. Creating and applying patches to source files

Visite la página principal : https://www.kde.org/applications/development/kompare/

4. DiffMerge

DiffMerge es una aplicación de GUI multiplataforma para comparar y combinar archivos. Tiene dos motores de funcionalidad, el motor Diff que muestra la diferencia entre dos archivos, que admite el resaltado y edición dentro de la línea y un motor de combinación que genera las líneas cambiadas entre tres archivos.

Tiene las siguientes características:

  1. Supports directory comparison
  2. File browser integration
  3. Highly configurable

Visite la página de inicio : https://sourcegear.com/diffmerge/

5. Meld - Diff Tool

Meld es una herramienta de combinación y combinación de GUI ligera. Permite a los usuarios comparar archivos, directorios y programas con versiones controladas. Construido específicamente para desarrolladores, viene con las siguientes características:

  1. Two-way and three-way comparison of files and directories
  2. Update of file comparison as a users types more words
  3. Makes merges easier using auto-merge mode and actions on changed blocks
  4. Easy comparisons using visualizations
  5. Supports Git, Mercurial, Subversion, Bazaar plus many more

Visite la página principal : http://meldmerge.org/

6. Difuso - Herramienta GUI Diff

Diffuse es otra herramienta popular, gratuita, pequeña y sencilla de interfaz gráfica de usuario que se puede usar en Linux. Escrito en Python, ofrece dos funcionalidades principales, es decir, la comparación de archivos y el control de versiones, que permite la edición de archivos, la fusión de archivos y también la salida de la diferencia entre archivos.

Puede ver un resumen de comparación, seleccionar líneas de texto en archivos con un puntero del mouse, hacer coincidir líneas en archivos adyacentes y editar archivos diferentes. Otras características incluyen:

  1. Syntax highlighting
  2. Keyboard shortcuts for easy navigation
  3. Supports unlimited undo
  4. Unicode support
  5. Supports Git, CVS, Darcs, Mercurial, RCS, Subversion, SVK and Monotone

Visite la página principal : http://diffuse.sourceforge.net/

7. XXdiff - Herramienta de diferencia y fusión

XXdiff es un potente y gratuito comparador de archivos y directorios que se ejecuta en sistemas operativos similares a Unix, como Linux, Solaris, HP/UX, IRIX, DEC Tru64. Una limitación de XXdiff es su falta de soporte para archivos Unicode y edición en línea de archivos diff.

Tiene la siguiente lista de características:

  1. Shallow and recursive comparison of two, three file or two directories
  2. Horizontal difference highlighting
  3. Interactive merging of files and saving of resulting output
  4. Supports merge reviews/policing
  5. Supports external diff tools such as GNU diff, SIG diff, Cleareddiff and many more
  6. Extensible using scripts
  7. Fully customizable using resource file plus many other minor features

Visite la página principal : http://furius.ca/xxdiff/

8. KDiff3 - - Herramienta de diferencia y fusión

KDiff3 es otra herramienta genial, multiplataforma de diferencia y fusión hecha de KDevelop Funciona en todas las plataformas similares a Unix, incluyendo Linux y Mac OS X, Windows.

Puede comparar o fusionar dos o tres archivos o directorios y tiene las siguientes características notables:

  1. Indicates differences line by line and character by character
  2. Supports auto-merge
  3. In-built editor to deal with merge-conflicts
  4. Supports Unicode, UTF-8 and many other codecs
  5. Allows printing of differences
  6. Windows explorer integration support
  7. Also supports auto-detection via byte-order-mark “BOM”
  8. Supports manual alignment of lines
  9. Intuitive GUI and many more

Visite la página principal : http://kdiff3.sourceforge.net/

9. TkDiff

TkDiff también es un contenedor de GUI multiplataforma y fácil de usar para la herramienta de diferencia de Unix. Proporciona una vista de lado a lado de las diferencias entre dos archivos de entrada. Puede ejecutarse en Linux, Windows y Mac OS X.

Además, tiene algunas otras características interesantes que incluyen marcadores de diferencias, un mapa gráfico de diferencias para una navegación fácil y rápida y muchas más.

Visite la página principal : https://sourceforge.net/projects/tkdiff/

Después de leer esta revisión de algunas de las mejores herramientas de combinación y combinación de archivos y directorios, es probable que desee probar algunas de ellas. Es posible que estas no sean las únicas herramientas de diferencias disponibles que puede encontrar en Linux, pero se sabe que ofrecen algunas de las mejores funciones. También puede informarnos sobre cualquier otra herramienta de diferencias que haya probado y considere que merece mencionado entre los mejores.