Cómo comparar dos archivos en Linux

Cómo comparar dos archivos en Linux

A veces estamos obligados a comparar dos o más de dos archivos para algunas modificaciones o simplemente para verificar los errores en dos mismos archivos. En lugar de leer ambos archivos y compararlos con precisión, tenemos algunas herramientas incorporadas en Linux que pueden ayudarnos a este respecto.

En este artículo, discutiremos las funciones incorporadas y algunas herramientas de terceros que se utilizan para comparar los archivos en Linux y cómo funcionan.

Cómo comparar archivos en Linux

Para los archivos de comparación utilizando las siguientes utilidades:

  • Diferencia
  • Colordife
  • Wdiff

¿Qué es el comando DIFF en Linux?

El comando DIFF compara dos archivos por líneas. También nos ayuda a decir qué diferencias hay en los archivos y menciona esas diferencias. Siempre compara el primer archivo con otro, lo que significa que dirá las diferencias que están en el primer archivo comparándolo con el segundo archivo. Por lo tanto, le recomendará hacer cambios en el primer archivo (si hay alguna diferencia) para que coincida con el segundo archivo.

Hay tres letras que pueden mostrarse en los resultados: "un medio para agregar", "C significa cambiar" y "D significa eliminar". El signo "" se usa para mostrar el segundo archivo.
La sintaxis del comando DIFF es la siguiente:

 Diff [Nombre del primer archivo] [Nombre del segundo archivo] 

Consideremos ejemplos para comprender cómo funciona este comando. Creamos dos archivos de texto en la carpeta de documentos en Ubuntu 20.04 con el nombre yo.mi. test_file1 y test_file2 con el texto que se muestra en la imagen.

Ahora, abriremos el siguiente comando en la terminal de Ubuntu 20.04 Para descubrir las diferencias. Vaya a la carpeta donde se han guardado los archivos.

DIFF test_file1 test_file2  

La salida anterior nos muestra que hay diferencias en los archivos anteriores. El 3A4 significa en el primer archivo A en una tercera línea se debe agregar.

Ahora, para obtener más aclaraciones, ejecute el siguiente comando:

diff test_file2 test_file1  

En este comando, solo estamos comparando test_file2 con test_file1. Ahora veamos la salida. En esta salida el significado de "4d3" significa eliminar línea 4 del test_file2 Para que coincida con Test_File1.

Hay diferentes banderas que nos ayudan a comprender las diferencias en el archivo más fácilmente. Antes de discutir las banderas, veamos la sintaxis general del uso de banderas.

 Diff -[Flag] [FileName1] [FileName2] 

Hay muchas banderas utilizadas para diferentes propósitos. Discutiremos dos de ellos aquí en detalle para la comprensión.

Cómo ver archivos en modo de contexto usando el comando DIFF

Para ver los resultados en el modo de contexto, usaremos la bandera "C". Consideremos el ejemplo anterior y comparélos usando esta bandera y verifique cómo funciona.

diff -c test_file1 test_file2  

En esta salida utilizando el indicador, también se mencionan los detalles de la creación del archivo. "!" significa que se requieren cambios, "-" significa algo para eliminar y "+" Viene, significa agregar algo para que coincida con el primer archivo con el segundo archivo.

Cómo funciona el modo unificado usando el comando DIFF:

Se usa para ver archivos en modo unificado. Podemos ver utilizando la bandera "U", la diferencia entre TI y el modo de contexto es que no muestra información que no sea importante.
Consideremos un ejemplo.

diff -u test_file1 test_file2  

Por lo tanto, observamos que esta bandera muestra los resultados de una manera precisa para que el lector pueda entenderlos mejor. En la salida anterior, el -1,3 significa que en el primer archivo debe eliminar "del parachoques" y también agregar la cuarta línea.
Algunas otras banderas y sus usos son:

BanderaDetalles
miSe usa para mostrar la salida en ed script.
YMuestra la salida en colores
QDa salida solo si hay diferencias

Podemos ver todas las banderas y su función escribiendo el siguiente comando en la terminal de Ubuntu.

hombre diff  

Qué es colordife dominio?

El funcionamiento del colordife El comando es el mismo que el comando DIFF, pero muestra los resultados de una manera colorida que ayuda al usuario a comprender fácilmente y es un archivo legible atractivo para el lector.
Consideremos el ejemplo anterior.

Colordiff test_file1 test_file2  

La salida es de manera colorida.

Qué es wdiff dominio

Compara archivos Word by Word. Nos dice qué palabras deben agregarse y también dónde agregar para que ambos archivos coincidan. Para comprender, considere el ejemplo anterior nuevamente:

wdiff test_file1 test_file2  

La salida es:

Podemos ver en la salida que "desde el parachoques delantero" debe eliminarse y "el automóvil debe repararse" agregado. Pero no dice en qué línea. Esta es la diferencia entre "Wdiff" y "Diff".

Las herramientas de terceros se pueden usar para fines de comparación de dos archivos en Linux. La herramienta ampliamente utilizada es vimdiff.

Compare archivos con VIMDIFF

También podemos usar el editor VIM para comparar dos archivos en Linux. Para este propósito primero instalamos el editor VIM como:

sudo apt install vim  

Ahora comparamos los archivos anteriores usando el editor VIM.

vimdiff test_file1 test_file2  

La salida se muestra como:

Vemos que la salida está en una tabla y resaltada por colores. La porción que debe agregarse se resalta en color azul y "-" En el color azul muestra dónde se debe agregar el contenido.

Aparte de esto, hay muchos editores de terceros, que se pueden utilizar para la comparación de dos archivos en Linux, por ejemplo, Kompare, Diff Merge, Diffuse-Gui Tool, etc.

Conclusión

En esta época, todos quieren facilitar la vida, por lo tanto, en lugar de comparar archivos de palabra a palabra, nos gustaría compararlos con algunas herramientas para que pueda proporcionarnos resultados precisos en menos tiempo. En este artículo, discutimos cómo podemos comparar dos archivos en Linux utilizando sus comandos incorporados, así como las herramientas de terceros.