viernes, 6 de noviembre de 2020

Comparar directorios con diff

 Para comparar directorios utilizamos la herramienta diff:
diff -r -q 'directorio1' 'directorio2'
diff -r -q /home/miusuario/Documentos /home/miusuario/Copia-de-Documentos

-r para hacerlo de forma recursiva.
-q para que sólo aparezcan en pantalla los ficheros que hay en uno y no en el otro.

diff examina el contenido de los archivos (línea por línea, si son archivos de texto) para determinar si son diferentes. Esto hace que el proceso se alargue si el número de ficheros es grande.

Si no necesitamos conocer la diferencia entre ficheros, sino que los ficheros en uno y otro directorio sean los mismos, vamos a hacer un listado con todos los archivos que tengan ambos directorios y después comparamos dichos listados.
1= Nos movemos hasta el directorio1
cd /home/miusuario/directorio1
2= Generamos el listado del directorio1:
find . -type f > listado-directorio1.txt
3= Nos movemos hasta el directorio2
cd /home/miusuario/directorio1
4= Generamos el listado del directorio1:
find . -type f > listado-directorio2.txt
5= Comparamos los archivos:
diff /home/miusuario/directorio1/listado-directorio1.txt /home/miusuario/directorio2/listado-directorio2.txt

Ej:
cd /home/miusuario/Documentos
find . -type f > listado-de-Documentos.txt
cd /home/miusuario/Copia-de-Documentos
find . -type f > listado-Copia-de-Documentos.txt
diff /home/miusuario/Documentos/listado-de-Documentos.txt /home/miusuario/Copia-de-Documentos/listado-Copia-de-Documentos.txt

Si queremos que nos lo imprima en un archivo de texto, añadir al final >diferencias.txt
diff /home/miusuario/Documentos/listado-de-Documentos.txt /home/miusuario/Copia-de-Documentos/listado-Copia-de-Documentos.txt >diferencias.txt

No hay comentarios: