Compare el contenido de dos carpetas, incluidas las subcarpetas

3

A lo largo de los años, he importado fotos de iPhone a Mac y las he organizado en carpetas por mes.

Ahora quiero importar todas las fotos que tengo en el iPhone y compararlas con los archivos que he organizado en carpetas a lo largo de los años, si faltan.

¿Existe alguna herramienta (incluida en OSX o gratuita / comprable) u otro procedimiento que pueda comparar el contenido de la carpeta, con una carpeta que contiene los archivos en la raíz y la otra en muchas subcarpetas?

    
pregunta Numbers 18.10.2014 - 18:33

2 respuestas

5

Terminal: diff

Puedes comparar dos carpetas en la Terminal usando el siguiente comando:

diff -rq /path/to/folder1 /path/to/folder2

Para ignorar la jerarquía de carpetas, puede copiar todos los archivos de una carpeta en una tercera carpeta, luego compararlos:

find /path/to/folder2 -mindepth 2 -type f -print -exec cp {} /path/to/folder3 \;
    
respondido por el grg 18.10.2014 - 18:40
2

Este es un hilo viejo, me doy cuenta, pero parece que la pregunta no fue respondida por completo. Me tropecé con esto antes de tratar de descifrar las mismas cosas para mí, así que pensé en publicar una opción en caso de que otros tropezaran con ella ...

Algunas de las respuestas estaban casi ahí ... y la mía podría hacerse más fácilmente, ¡pero funciona!

Esto creará un archivo con todos los nombres de tus fotos:

  

buscar / Ruta / a / la / carpeta superior / de / fotos -mindepth 2 -type f -print   | sed 's /^.*///' | ordenar > / tmp / fotos-de-carpetas

Si alguno de ellos está en carpetas que son propiedad de otros, complete con sudo y use > > para agregar esos nombres de archivo a los que ya están en el archivo inicial.

use un comando similar para crear un segundo archivo que contenga todos los nombres de archivo de las fotos de su teléfono.

Puede hacer un diff y enviarlo a un archivo con > o, si sabe qué conjunto es el más grande, utilícelo como archivo1 y haga

  

archivo de diferencias1 archivo2 | egrep -v '<' > archivado de salida

Por supuesto, todos los caminos han sido eliminados por el sed en la búsqueda inicial para generar solo los nombres de archivo. Si ve algo que podría estar faltando, quiere saber dónde está, así que use

  

sudo find / Path / to / the / topmost folder / of / photos -name   'nombre de archivo que quieres' -ls

y eso te dirá dónde está.

Espero que esto ayude. Me ayudé a encontrar lo que necesito para evitar un directorio anterior antiguo que no está en mi nuevo directorio principal. 65 Gig de espacio ahorrado!

    
respondido por el MrBungleBear 25.01.2017 - 13:32

Lea otras preguntas en las etiquetas