Comparar dos directorios rápidamente en Linux
En Linux se pueden comparar dos directorios o carpetas mediante el comando diff. Por ejemplo, si ejecutamos lo siguiente:
diff directorio1 directorio2
Ésto nos indicará qué archivos están en un directorio y no en otro. En caso de que haya dos archivos con el mismo nombre y su contenido sea distinto, también se indicará.
El comando anterior tiene un inconveniente, y es que puede ser demasiado lento. Si los directorios contienen muchos archivos o si la unidad de almacenamiento es algo lenta, el proceso puede eternizarse. Pero el siguiente comando solucionará ésto de un plumazo:
diff <(cd dir1 && find | sort) <(cd dir2 && find | sort)
Como vemos, se sigue usando el comando diff, pero en vez de comparar los archivos, compara el listado ordenado del directorio.
Si lo probáis veréis lo potente que puede llegar a ser. Podéis utilizar los comentarios si os surge alguna pregunta.
Fuentes:
Tweet
Sea el primero en comentar
Publicar un comentario