viernes, julio 18, 2014

Comparando el contenido de directorios para linux y mac con diff

El otro día estuve probando un par de servicios de sincronización (por cierto, Copy está de lo más interesante). El caso es que antes de borrar los contenidos que teníamos en Dropbox quería asegurarme que se había copiado correctamente todo y tenía que hacerlo necesariamente desde MacOS.

Para comparar el contenido de dos directorios lo más fácil el usar el comando diff, que ya había utilizado anteriormente para comparar el contenido de dos ficheros. Es tan sencillo como abrir una terminal y escribir:

$ diff -rq directorio1 directorio2

Por ejemplo:

$ diff -rq prueba_diff_1/ prueba_diff_2/
Los archivos prueba_diff_1/documento.txt y prueba_diff_2/documento.txt son distintos
Los archivos prueba_diff_1/.DS_Store y prueba_diff_2/.DS_Store son distintos
Sólo en prueba_diff_1/: Spot OFICIAL.mp4
Sólo en prueba_diff_2/: wetransfer-af86cd.zip

En el caso particular de MacOS me generaba muchas líneas indicando que en todos los directorios los archivos .DS_Store eran distintos. Como son archivos que en realidad no importan me interesaba ignorarlos. Eso se puede hacer con la opción "-x '*.extension_a_ignorar' "

Por ejemplo 

$ diff -rq -x '*.DS_Store' prueba_diff_1/ prueba_diff_2/
Los archivos prueba_diff_1/documento.txt y prueba_diff_2/documento.txt son distintos
Sólo en prueba_diff_1/: Spot OFICIAL.mp4
Sólo en prueba_diff_2/: wetransfer-af86cd.zip

...y una cosa importante es que es muy rápido procesando grandes volúmenes de archivos.

No hay comentarios:

Publicar un comentario