Cerca ricorsivamente le immagini e spostale in una cartella data

0

Ho chiesto una domanda 9 mesi fa su come copia le immagini in una cartella di backup. Ha funzionato in quel caso! Ma ora ho un altro problema. Ho 233 GB di dati non ordinati, per lo più immagini, e si trovano in una struttura di directory non ordinata.

Stavo pensando di ordinare le immagini in base alla data (se possibile su tutte le immagini) e mantenere il nome file originale.

Ho trovato una domanda qui , ma non l'ho provato - ho paura di rovinare tutto.

La mia domanda è: come faccio a cercare ricorsivamente una cartella e spostare l'immagine di tipo bmp, jpg, JPG, jpeg e gif in cartella /home/username/Documents/backup/[date] (ad esempio /home/username/Documents/backup/2013-06-10/DSC01158.JPG ), e se quella cartella non viene esiste - crealo. E mantieni il nome del file, se possibile.

Sistema utilizzato: macOS Sierra 10.12.4

Modifica: La data deve essere estratta dai metadati, perché i file non includono la data nel nome del file.

    
posta Adam 10.04.2017 - 15:50
fonte

1 risposta

1

Passare alla cartella che si desidera cercare ed eseguire

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

Meglio testarlo prima su un piccolo campione e rimuovere entrambi echo s se l'output sembra ragionevole.

    
risposta data 10.04.2017 - 17:20
fonte

Leggi altre domande sui tag