buscar fotos duplicadas

buscar fotos duplicadas

Tengo fotos, en la carpeta A, también existen, en las carpetas B y C. Tienen el mismo nombre de archivo. ¿Cómo buscarlos y eliminarlos de la carpeta A? Un script en Perl o algo así sería ideal ya que no me gusta descargar software para esta tarea.

Respuesta1

Pruebe este comando:

find . -type f -exec cmp -s '{}' "$destdir/{}" \; -exec echo mv -v "$destdir/{}" "$ToDelete"/ \;

¿Cómo utilizar?

Paso 1:Cree un directorio temporal para mover archivos duplicados a ese:

ToDelete=/tmp/ToDelete; mkdir -p "$ToDelete"

Paso 2:Establezca destdiren su directorio Carpeta A desde donde queremos eliminar fotos duplicadas.

destdir=/path/to/FolderA

Paso 3cd a su primer directorio fuente (CarpetaB) y ejecute el comando

cd /path/to/FolderB

find . -type f -exec cmp -s '{}' "$destdir/{}" \; -exec echo mv -v "$destdir/{}" "$ToDelete"/ \;

Etapa 4:Ahora vaya al siguiente directorio fuente (CarpetaC) y ejecute nuevamente el comando

cd /path/to/FolderC

find . -type f -exec cmp -s '{}' "$destdir/{}" \; -exec echo mv -v "$destdir/{}" "$ToDelete"/ \;

De acuerdo. Ahora, si prueba el comando y ve el resultado, elimine el echocomando para mover las fotos duplicadas al /tmp/ToDeletedirectorio.

Vea la prueba a continuación:

$ ls ~/FolderA    
  1.jpg  2.jpg  6.jpg  7.jpg  8.jpg

$ ls ~/FolderB    
  3.jpg  4.jpg  5.jpg  7.jpg  8.jpg  9.jpg

$ ls ~/FolderC
  6.jpg  7.jpg  8.jpg  9.jpg

$ ToDelete=/tmp/ToDelete; mkdir -p "$ToDelete"
$ ls /tmp/ToDelete/
$ destdir=~/FolderA

$ cd ~/FolderB
/FolderB$ find . -type f -exec cmp -s '{}' "$destdir/{}" \; -exec mv -v "$destdir/{}" "$ToDelete"/ \;
  ‘/home/Fischer/FolderA/./8.jpg’ -> ‘/tmp/ToDelete/8.jpg’
  removed ‘/home/Fischer/FolderA/./8.jpg’
  ‘/home/Fischer/FolderA/./7.jpg’ -> ‘/tmp/ToDelete/7.jpg’
  removed ‘/home/Fischer/FolderA/./7.jpg’

/FolderB$ cd ~/FolderC
/FolderC$ find . -type f -exec cmp -s '{}' "$destdir/{}" \; -exec mv -v "$destdir/{}" "$ToDelete"/ \;
  ‘/home/Fischer/FolderA/./6.jpg’ -> ‘/tmp/ToDelete/6.jpg’
  removed ‘/home/Fischer/FolderA/./6.jpg’

/FolderC$ ls /tmp/ToDelete/
  6.jpg  7.jpg  8.jpg

/FolderC$ ls -l ~/FolderA
  1.jpg  2.jpg

/FolderC$ C00L ;)

¿Y cómo funciona?

Cuando cambias a tu CarpetaB o CarpetaC y ejecutasencontrar comando, entonces busca cualquier archivo en él ( .consulte el directorio actual) y luego concomando cmp(usado para comparar dos archivos byte por byte) compara cada archivo ( {}) en la Carpeta B/Carpeta C con los archivos en destdir(Carpeta A ( $destdir/{})) si son iguales, entonces movemos ese archivo (de la Carpeta A al directorio temporal en /tmp/ToDelete) con el siguientecomando mv -exec mv "$destdir/{}" "$ToDelete"/ \;.

Respuesta2

El programaencontrar imágenes duplicadasdebe hacer lo que solicita:

Encuentra imágenes visualmente similares o duplicadas

El programa es un programa Perl simple y se puede iniciar desde la línea de comandos, pero también está disponible como paquete de software.

Respuesta3

podrías usar el programa fslint

busca duplicados (entre otras cosas)

fslint se puede descargar en el centro de software. fslint tiene una interfaz de usuario cuando abres el programa, la primera pestaña trata sobre encontrar duplicados. puede especificar la carpeta/carpetas.

más información :manual de usuario fslint

Respuesta4

Hay muchosbuscador de fotos duplicadasutilidades disponibles en línea. Algunos son mejores que otros, algunos son más rápidos, algunos son fáciles de usar, muchos son gratuitos y algunos tienen que pagar para desbloquear la funcionalidad completa.

Realiza una búsqueda en Google con las mejores frases de buscador de fotos duplicadas para descubrir qué hay disponible y encontrar la que se adapte a tus necesidades.

información relacionada