El comando diff compara las diferencias entre ficheros línea a línea. Es un comando muy útil cuando queremos comprobar las diferencias entre archivos texto y no binarios. Estos ultimos identifica que no son iguales, pero no puede mostrar las diferencias. Ficheros de libreoffice sus formatos por defecto son binarios, por lo que no puede indicar la diferancia, pero si que son diferentes.
La comparación puede ser entre directorios, por lo que nos indica la diferencia entre los directorios, fichero a fichero.
Comparar dos ficheros con DIFF
Simplemente separamos los ficheros con un espacio.
Paa mostrar como funciona, creo dos ficheros con unas pequeñas diferencias para puedas verlas.
▶ fichero1.txt
Fichero 1 con 2 lineas con contenido y una linea en medio vacia
Segunda linea escrita y una LINEA EN BLANCO en medio.
Dos 3 lineas y una en el medio con en blanco.
▶ fichero2.txt
Fichero 1 con 2 lineas con contenido y una linea en medio vacia
Segunda linea escrita y una en medio.
El segundo fichero igual anteriro si la linea del medio y el texto de la segunda diferente al final.
Ejecuto:
diff fichero1.txt fichero2.txt
Y el resultado es.
▶ diff fichero1.txt fichero2.txt
2,3c2
<
< Segunda linea escrita y una LINEA EN BLANCO en medio.
---
> Segunda linea escrita y una en medio.
La primera lines (2,3c2) nos indica los numeros de linea del primer fichero , separado por una coma para indicar un rango. Tambien con c2 nos indica (c) cambiemos la linea 2.
En las siguiente lineas nos muestra < , que nos indica que son las lines diferentes del primer ficheros , y con > no indica las lineas diferentes del segundo fichero.
Comparar ficheros con diff -c
Puedes ver los resultado del comando utilizando opcion -c, diseñado su resultado para verlo de una forma mucho mas visual.
▶ diff -c fichero1.txt fichero2.txt
*** fichero1.txt 2023-01-28 12:29:23.297121975 +0100
--- fichero2.txt 2023-01-28 12:24:14.164218453 +0100
***************
*** 1,3 ****
Fichero 1 con 2 lineas con contenido y una linea en medio vacia
!
! Segunda linea escrita y una LINEA EN BLANCO en medio.
--- 1,2 ----
Fichero 1 con 2 lineas con contenido y una linea en medio vacia
! Segunda linea escrita y una en medio.
Las dos primeras lineas nos indica cuando fueron modificado los ficheros.
Luego ya nos indica los rangos de numeros con las lineas diferentes.
Buscar los nombres de ficheros diferencias entre dos directorios
Uno de los mas utilizados por nosotros para ver diferencias entre direcotrios, ya que Diff rápido, en este caso utilizamos la opciones -r (recursivo) y -q ( corta)
diff -rq directorio1 directorio2
No indica que ficheros son distintos entre esos directorios y que ficheros hay a más en uno u otro, pero no nos muestra las diferencias entre ello porque le pusimos la opcion -q
