GNU/Linux >> Tutoriales Linux >  >> Linux

Compare dos archivos en Linux:use diff, vimdiff y colordiff

Linux le ofrece múltiples opciones para comparar dos archivos. El comando más popular para comparar dos archivos es diff . En este tutorial veremos el comando diff y algunas otras opciones que puede usar para comparar dos archivos en Linux.

Vamos a crear dos archivos para usar como ejemplos a lo largo del tutorial.

Texto para el archivo 1:

 Welcome to the best source for learning Linux.
 How are you doing?

Texto para el archivo 2:

Welcome to Linux For Devices!
How are you doing?

Comando Diff para comparar dos archivos en Linux

El comando Diff es el comando más utilizado cuando se trata de comparar dos archivos. El nombre es la abreviatura de “diferencia “. El resultado le indica los pasos que debe seguir para cambiar el primer archivo para que coincida con el segundo archivo.

La sintaxis para usar el comando diff es:

diff [option] [file 1] [file 2]

Veamos el comando diff en acción.

diff [file 1] [file 2]

La salida solo muestra las líneas que no coinciden. Las líneas se muestran en el orden de los archivos como se menciona en el comando.

Intentemos comprender el resultado.

Puede ver que la salida comienza con '1c1' . Tiene el formato [rango][abc][rango].

Donde el primer campo de rango pertenece al primer archivo y el segundo campo de rango pertenece al segundo archivo.

La letra del medio puede ser una de las tres siguientes.

  • a: añadir
  • c: cambiar
  • d: borrar

En nuestro ejemplo, '1c1' significa que necesita cambio número de línea uno del primer archivo para asegurarse de que los dos archivos se sincronicen hasta la línea número uno del segundo archivo.

3d2 significa que debe eliminar la línea número tres del primer archivo para asegurarse de que los dos archivos se sincronicen en la línea número dos del segundo archivo.

Modo de contexto (diff -c)

Para ver la diferencia entre dos archivos en modo contextual, use -c marca junto con el comando diff.

diff -c [file 1] [file 2]

Intentemos comprender el resultado.

La salida comienza con metainformación sobre el archivo. Esta es información como nombre de archivo, fecha y hora de creación y permisos.

La siguiente línea es *** 1,3 ****. Esta línea contiene el número de línea de origen y destino que se está considerando durante la comparación.

Después de esto está el texto del archivo 1. Aquí puede ver ciertos símbolos antes de la línea. Veamos qué significan estos símbolos.

  • + :Falta la línea en el primer archivo. Puede agregarlo en el primer archivo o eliminarlo del segundo archivo.
  • – : Falta la línea en el segundo archivo. Puede agregarlo en el segundo archivo o eliminarlo del primer archivo.
  • ! : La línea debe cambiarse para que coincida en ambas líneas.

La misma información se repite para el segundo archivo.

Formato unificado (diff -u)

El formato unificado es una versión mejorada del modo contextual. La sintaxis es la siguiente:

diff -u [file 1] [file 2]

Puede ver que transmite la misma información pero de manera concisa.

Vimdiff para comparar dos archivos en Linux

Otra forma de comparar dos archivos es Vimdiff. Esto funcionará solo si tiene el editor Vim en su sistema.

La sintaxis para comparar dos archivos usando vimdiff es:

vimdiff [file 1] [file 2] 

Así es como se ve la salida. Abre los dos archivos en el editor Vim uno al lado del otro. También resalta las partes que no coinciden en los dos archivos. Debería usar vimdiff si se siente cómodo usando el editor Vim.

Diferencia de color

El script de Perl colordiff es un envoltorio para 'diff' y produce el mismo resultado pero con un bonito resaltado de 'sintaxis'. También te da la opción de personalizar los colores.

Para instalar colordiff en su sistema, use el comando apt:

sudo apt install colordiff

Este comando instalará colordiff en su sistema. Para comparar dos archivos usando colodiff use:

colordiff [file 1] [file 2] 

Puede ver que la salida es la misma que la producida arriba en el comando diff. La única diferencia es la del color en la salida.

Conclusión

Este tutorial trataba sobre las diferentes formas que puede usar para comparar archivos en Linux.


Linux
  1. Cómo transferir archivos entre dos computadoras usando los comandos nc y pv

  2. Cómo extraer archivos .gz y .tar.gz en Linux

  3. ¿Cómo fusionar dos archivos usando AWK?

  4. Combinar manualmente dos archivos usando diff

  5. Usando rz y sz bajo Linux Shell

Todo sobre archivos tar y cómo tar, untar archivos en Linux usando Terminal

Cómo comparar archivos en Linux usando la herramienta Meld (Diff/Merge)

Cómo comparar dos archivos en la terminal de Linux

Cómo ocultar carpetas y archivos en Linux usando un archivo de texto

Uso del comando Diff para comparar dos archivos en la terminal de Linux

Las 4 principales herramientas de diferenciación de archivos en UNIX/Linux:Diff, Colordiff, Wdiff, Vimdiff