¿Cómo puedo comparar recursivamente 2 carpetas con la misma estructura?
¿Con uso diff
o git diff
desde bash
la línea de comando?
Respuesta1
Para comparar 2 archivos, usamos el comando diff. ¿Cómo comparamos 2 directorios? Específicamente, queremos saber qué archivos/subdirectorios son comunes, cuáles están solo en un directorio pero no en el otro.
diff dir1 dir2
Si no está interesado en las diferencias de archivos, utilice
diff -q dir1 dir2 |sort
diff ordena su salida alfabéticamente por nombre de archivo/subdirectorio. Prefiero agruparlos según si son comunes y si solo existen en el primer o segundo directorio. Es por eso que canalicé la salida de diff a través de sort en el comando anterior.
Tenga en cuenta que, de forma predeterminada, diff no llega a los subdirectorios para comparar los archivos y subdirectorios en ese nivel. Para cambiar su comportamiento para bajar subdirectorios de forma recursiva, agregue -r.
diff -qr dir1 dir2 |sort
Espero que esto ayude.
Respuesta2
Simplemente puedes hacer:
git diff --no-index FOLDER1 FOLDER2
Respuesta3
Utilice el siguiente comando:
diff -r folder1 folder2
Respuesta4
diff -Nur directory1 directory2