Eliminar imágenes duplicadas

Eliminar imágenes duplicadas

Tengo una imagen original que es img.jpg.

¿Cómo puedo eliminar imágenes duplicadas que son img.jpg1, img.jpg2, img.jpg3? Quiero conservar la imagen que tiene la extensión .jpg.

Gracias

Respuesta1

Solución GUI

  1. En nautilus, abra el cuadro de diálogo de selección usando ctrl+S
  2. Escribe *.jpgpara seleccionar todas las imágenes con la extensión .jpg

ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

  1. Invierte la selección usando ++ ctrlpara seleccionar los que no tienen la extensión .jpg (que es lo que quieres).shifti

ingrese la descripción de la imagen aquí

  1. Haga clic derecho y elija Move to trasho simplemente presione la deletetecla.
    Desde aquí también puedes hacer cualquier otra cosa que quieras: comprimir, cortar, etc.

Respuesta2

Combine el findcomando con -regexy -execbanderas. En este ejemplo en particular, -execsimplemente toma todas las imágenes duplicadas y las mueve a la papelera, para que aún puedas recuperar cualquiera de ellas si así lo deseas. Luego puede usar rmel comando o limpiar la basura a través de la GUI

testerdir:$ ls
img.jpg  img.jpg1  img.jpg2  img.jpg3

testerdir:$ find  . -regex ".*\.jpg[1-9]+" -print -exec mv -t $HOME/.local/share/Trash/ {} +                                 
./img.jpg1
./img.jpg3
./img.jpg2

testerdir:$ ls $HOME/.local/share/Trash                                                                                   
expunged/  files/  img.jpg1  img.jpg2  img.jpg3  info/

testerdir:$ ls
img.jpg

Respuesta3

Usando bash, de forma no recursiva:

shopt -s extglob nullglob
rm img.jpg+(?)

Si solo tienes dígitos al final:

rm img.jpg+([0-9])

Recursivamente:

shopt -s globstar extglob nullglob
rm **/img.jpg+(?)

En caso de solo dígitos al final:

rm **/img.jpg+([0-9])

Aquí hemos utilizado algunas opciones de shell:

  • extglobnos permitirá hacer coincidir patrones globales extendidos, por ejemplo, +(?)coincidirá con una o más apariciones de cualquier carácter. Esto debería estar habilitado en un shell interactivo de forma predeterminada.

  • nullglobdará como resultado una cadena nula si no se encuentra ninguna coincidencia

  • globstarnos permitirá buscar recursivamente usando**

información relacionada