Buscar imágenes de forma recursiva y moverlas a una carpeta de fecha

0

Pidió una pregunta hace 9 meses sobre cómo copiar imágenes a una carpeta de copia de seguridad. ¡Eso funcionó en ese caso! Pero ahora tengo otro problema. Tengo 233 GB de datos sin clasificar, en su mayoría imágenes, y están ubicados en una estructura de directorios sin clasificar.

Estaba pensando en ordenar las imágenes según la fecha (si es posible en todas las imágenes), y mantener el nombre del archivo original.

Encontré una pregunta aquí , pero no lo he intentado, tengo miedo de desordenar las cosas.

Mi pregunta es: ¿cómo busco recursivamente una carpeta y muevo la imagen de tipo bmp, jpg, JPG, jpeg y gif a la carpeta /home/username/Documents/backup/[date] (por ejemplo, /home/username/Documents/backup/2013-06-10/DSC01158.JPG ), y si esa carpeta no funciona? existe - crealo. Y mantenga el nombre del archivo, si es posible.

Sistema utilizado: macOS Sierra 10.12.4

Editar: La fecha debe extraerse de los metadatos, ya que los archivos no incluyen la fecha en el nombre del archivo.

    
pregunta Adam 10.04.2017 - 15:50

1 respuesta

1

Cambie a la carpeta que desea buscar y ejecutar

find . -type f -iname '*.jpg' | while read file; do
    ts=$(stat -f '%Sm' -t '%Y-%m-%d' "$file")
    folder="/path/to/backup/folder/$ts"
    [[ -d "$folder" ]] || echo mkdir "$folder"
    echo mv "$file" "$folder/"
done

Lo mejor es probar esto primero en una muestra pequeña, y eliminar tanto echo s si la salida parece razonable.

    
respondido por el nohillside 10.04.2017 - 17:20

Lea otras preguntas en las etiquetas