comunidades

Herramientas de Comparación de Archivos (Diff) para Linux

Los programadores, desarrolladores web e incluso los escritores a menudo necesitan comparar diferentes versiones del mismo código o texto para mantenerse al tanto de los cambios. Una forma eficaz de hacerlo es con una herramienta de diferencias: una aplicación que compara archivos o carpetas, muestra las diferencias entre ellos y le ayuda a crear un nuevo archivo fusionando o parcheando sus versiones. Generalmente, puede comparar archivos en Linux con una herramienta de línea de comandos o utilizando una aplicación independiente.

Diff, colordiff y wdiff

Diff

La utilidad de línea de comandos llamada diff forma parte del paquete «diffutils» presente en los repositorios de las principales distribuciones de Linux. Es una herramienta sencilla que compara archivos línea por línea y también puede comparar archivos en dos carpetas. Si los archivos seleccionados son idénticos, diff no imprimirá ninguna salida, y puede modificar sus opciones (por ejemplo, para ignorar el espacio en blanco o las letras mayúsculas y minúsculas).

La sintaxis general es

diff -option filename1 filename2

Los resultados se pueden mostrar en dos columnas con la opción -y o –side-by-side. Obtenga la lista completa de opciones de diferenciación escribiendo:

diff --help

El paquete «diffutils» también contiene diff3 – una herramienta que puede comparar tres archivos y fusionar tres versiones de un archivo. Una gran guía para sacar el máximo provecho de las diferencias se puede encontrar en el sitio web oficial .

Colordiff

Colordiff es técnicamente un «wrapper» o un script que modifica la salida de diff coloreándola según sus preferencias en el fichero de configuración («/etc/colordiffrc» o «/home/user/.colordiffrc»). El paquete colordiff está disponible en los repositorios de la mayoría de las distribuciones.

Colordiff tiene las mismas opciones que diff, y puede utilizarlo directamente escribiendo:

colordiff -opciones nombrearchivo1.txt nombrearchivo2.txt

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

o bien canalizando la salida de diff a la misma:

diff -u nombrearchivo1.txt nombrearchivo2.txt | colordiff

Wdiff

Otra herramienta similar y un poco más especializada es wdiff que puede comparar archivos palabra por palabra (define una palabra como cualquier cosa rodeada de espacio en blanco). Wdiff puede ignorar el caso (-i), proporcionar estadísticas (-s) sobre los cambios en archivos dados, y enfatizar las diferencias con el formato (-p). También puede combinar colordiff y wdiff para obtener una visión general codificada por colores de las diferencias de palabras entre archivos:

wdiff -n nombrearchivo1.txt nombrearchivo2.txt | colordiff

Tenga en cuenta que debe introducir la ruta completa si los archivos no están en la carpeta activa. Para más información sobre la wdiff, visite el sitio web oficial .

Modos de diferenciación en Vim y Emacs

Los editores de texto más populares, Vim y Emacs, tienen un modo de diferencias incorporado. Para activarlo en Vim, puedes iniciar el programa con el comando vimdiff y añadir hasta cuatro archivos para comparar:

vimdiff file1 file2[file3[file4]]

Vim abre cada archivo en una ventana separada y resalta las diferencias. Puede configurar cómo dividir cada ventana para obtener una mejor visión general.

Los usuarios de Emacs pueden elegir entre una extensión diff (llamada «modo principal») o Ediff, un modo ligeramente más avanzado que le permite cambiar interactivamente los archivos comparados. Al igual que Vim, Emacs puede mostrar archivos en ventanas separadas, una al lado de la otra, y resaltar las diferencias. También puede utilizarlo para fusionar archivos, y también funciona con archivos comprimidos.

Herramientas de Comparación de Archivos (Diff) para Linux


Ambos editores de texto tienen una sintaxis relativamente compleja que requiere cierto aprendizaje, pero vale la pena ya que son muy potentes y completamente personalizables.

Kdiff3

Kdiff3 es un frontend gráfico para diff, lo que significa que se basa en diff y ofrece todas sus opciones. Le permite comparar dos archivos con un archivo base y fusionar, dividir y unir carpetas enteras, archivos o sólo partes de texto seleccionadas. Kdiff3 se integra bien con KDE (soporta menús de servicio Dolphin), pero funcionará en todas las distribuciones de Linux, Windows y Mac OS X. El cuadro de diálogo «Ajustes -> Configurar Kdiff3» permite establecer parámetros para la comparación de archivos en carpetas (por fecha, tamaño, comparación binaria o contenido completo) y entre archivos (ignorar mayúsculas, números y espacio en blanco). Puede alternar entre el ajuste de línea y el ajuste de línea para obtener una mejor visión general y ajustar la configuración de color para marcar las diferencias.

Herramientas de Comparación de Archivos (Diff) para Linux


Lo bueno de Kdiff3 es que le permite pegar texto de cualquier archivo directamente en la ventana principal, eliminando la necesidad de crear archivos cuando sólo desea comparar el texto «sobre la marcha». Un manual detallado de Kdiff3 es disponible en línea .

Difuso

Herramientas de Comparación de Archivos (Diff) para Linux


A primera vista parece simple, pero Diffuse es tan poderoso como otras herramientas de esta lista. Puede comparar un número ilimitado de archivos en una vista lado a lado y resumir las diferencias. Puede editar archivos directamente desde Difundir y realizar fusiones y concordancia de líneas. También soporta el resaltado (limitado) de sintaxis y ofrece integración con varios sistemas de control de versiones – incluyendo Git, Mercurial y Subversion – para ayudarle a mantener los archivos sincronizados. Diffuse funciona en Linux, Windows y Mac OS X, y puede descargar los paquetes de instalación desde el sitio web del proyecto .

Difuminado

Esta aplicación funciona en Linux, Windows y OS X, se integra bien con el Explorador de Windows y ofrece paquetes de instalador para algunas distribuciones. Puede editar archivos dentro de Diffmerge, fusionar versiones de archivos automáticamente y exportar las diferencias a un nuevo archivo. Puede comparar hasta tres archivos y dos carpetas y mostrar si los archivos son idénticos, lo que puede ser útil cuando se comprueba si una copia de seguridad rsync se realizó correctamente.

Herramientas de Comparación de Archivos (Diff) para Linux


El cuadro de diálogo de configuración le permite definir reglas personalizadas para manejar varios tipos de archivos. Diffmerge es gratuito, pero ocasionalmente le pedirá una clave de registro de pago. Por suerte, pueden elegir otra herramienta de esta lista, ya que todas ofrecen más o menos las mismas opciones.

Combinar

Combine características de otras herramientas de diferenciación en una interfaz construida por Python. Puede descargar el código fuente y la versión de Windows , y encontrar el paquete en los repositorios si es usuario de Ubuntu, Fedora o SUSE. Lo bueno de Meld es que no tienes que instalarlo – simplemente ejecuta el ejecutable y úsalo como una aplicación portátil.

Herramientas de Comparación de Archivos (Diff) para Linux


Meld soporta la edición de archivos, el filtrado con expresiones regulares, la comparación y fusión de tres archivos, y la comparación de dos o tres carpetas y su contenido, y también proporciona una visualización útil de las diferencias mediante flechas y códigos de colores. Si usas un sistema de control de versiones como Git, Mercurial o SVN, Meld puede gestionar tus archivos, comprobar si hay cambios y realizar confirmaciones y actualizaciones. Meld se actualiza regularmente, así que podemos esperar nuevas características en futuras versiones.

Otras opciones

Si no tiene ganas de instalar una nueva aplicación para este propósito y no necesita funciones avanzadas de comparación de archivos, puede probar algunas de las muchas online diff tools que son gratuitas y sólo requieren un navegador web.

¿Utiliza una herramienta de diferenciación que no está en esta lista? Cuéntanoslo en los comentarios.

Crédito de la imagen: Teaser image source

Fuente: este post proviene de Vida Tecno, donde puedes consultar el contenido original.
¿Vulnera este post tus derechos? Pincha aquí.
Creado:
¿Qué te ha parecido esta idea?

Esta idea proviene de:

Y estas son sus últimas ideas publicadas:

Etiquetas: Linux

Recomendamos

Relacionado

Linux

En un momento u otro, cada usuario del ordenador ha borrado accidentalmente un archivo de su sistema. Esto es particularmente cierto para los usuarios de Linux, donde un comando como rm -rf . elimina inmediatamente todos los archivos y carpetas del directorio actual. La recuperación de archivos desde una partición FAT/NTFS de Windows ha sido discutida previamente . Este artículo analiza los pasos ...

Linux

Renombrar archivos no es una operación particularmente avanzada; siempre y cuando se haga en un pequeño número de archivos, por lo general no requiere herramientas especiales. Sin embargo, cuando hay toda una carpeta de fotos de las vacaciones del año pasado esperando ser renombradas, sería prudente considerar algunos trucos o aplicaciones para ahorrar tiempo. Hay dos enfoques generales para renom ...

Internet

La gestión de carpetas es una de las mejores habilidades que todo usuario de ordenador debe adquirir. Mantiene tus archivos organizados y sobre todo parece limpio. Pero, al estar organizado con las carpetas, también desea ser lo suficientemente productivo como para acceder a ellas rápidamente. Encontrar un archivo o carpeta que está enterrado a cinco niveles dentro de una carpeta definitivamente n ...

Linux

Ah, Vim. Lo amamos o lo odiamos, muchos desarrolladores juran por este poderoso editor de texto basado en consola, mientras que otros lo usaron una vez y no quieren volver a usarlo nunca más. Vim existe desde 1991 y no muestra signos de desvanecerse. Incluso estoy escribiendo este artículo en Vim. Si has usado Vim antes, sabes que hay un poco de curva de aprendizaje. Se necesita paciencia para apr ...

Linux

Dentro de su sistema Linux o macOS, hay un archivo llamado «sudoers» que controla los niveles más profundos de su sistema de permisos. Permite o niega a los usuarios el acceso a los superusuarios y tiene algunas preferencias especiales para sudo. ¿Qué es el archivo Sudoers? El archivo sudoers es un archivo de texto que vive en «/etc/sudoers». Controla cómo funciona sudo en su m ...

Internet

De vuelta en Windows 8, Microsoft modificó el aspecto del Explorador de archivos con nuevos iconos, nuevas características, menú de la cinta, etc. De hecho, incluso cambiaron el nombre de Explorador de Windows a Explorador de archivos, lo que tiene mucho sentido. Obviamente, hay algunos a los que no les gusta el nuevo estilo del Explorador de archivos. Si realmente le gusta el Explorador de archiv ...

Linux

Los usuarios de Mac OS X disfrutan de una ingeniosa utilidad de Apple llamada Time Machine, mientras que los usuarios de los últimos sistemas operativos de Microsoft tienen Windows Backup. Mi instalación de Kubuntu Precise, curiosamente, no vino con una utilidad de respaldo instalada fuera de la caja. Pero, como siempre, los usuarios de Linux tenemos una variedad de opciones para elegir. Siendo el ...

Linux

Si tiene el hábito de almacenar todos sus archivos temporales en su escritorio (o en cualquier otra carpeta) y se olvidó de eliminarlos más tarde, se dará cuenta de que su equipo se ensucia fácilmente con toneladas de archivos para los que no tiene uso. Una vez que eso sucede, la limpieza del equipo se convierte en una tarea tediosa y en una tarea problemática. Esta es una manera rápida y fácil de ...

Linux

Servicios populares como GDrive, Dropbox y Box le permiten acceder a sus archivos desde múltiples máquinas, pero si desea crear su propio sistema de almacenamiento con control de versiones, este tutorial le mostrará cómo hacerlo utilizando la popular herramienta de control de fuentes – Subversion. Paso 1: Configuración del almacén de documentos El primer paso es crear una biblioteca de sus d ...

Linux

Cuando tu amigo te envía un archivo comprimido con un formato relativamente desconocido, como 7z, bz2, etc, ¿no odias cuando necesitas instalar una herramienta adicional sólo para poder extraer el contenido del archivo? Aquí es donde el archivo autoextraíble es útil. Le permite extraer archivos sin necesidad de software adicional. Todo lo que tiene que hacer es hacer doble clic en el archivo y aut ...