Nalezení skenovaných fotografií, tj. těch které nemají rozumná časová razítka:
find ./ -maxdepth 2 -follow -type f -iname "*.jpg" -exec sh -c "exiv2 -pt {} | grep -q 'CanoScan 9000F' && echo {} >> list.txt" \;
Nastavení časových razítek JPEG (Exif) na základě jmen adresářů:
for file_name in `cat list.txt`; do exiv2 -M"set Exif.Image.DateTime ${file_name:2:4}:${file_name:7:2}:${file_name:10:2} 12:00:00" -M"set Exif.Photo.DateTimeOriginal ${file_name:2:4}:${file_name:7:2}:${file_name:10:2} 12:00:00" $file_name; done
V případě, že by časové razítko ve fotografiích bylo, ale nebylo zrovna správně, můžete ho lehce posunout, např. -25 let, -1 měsíc, -26 dní, +6 hodin, +40min
for file_name in `cat list.txt`; do exiv2 -Y -25 -O -1 -D -26 -a 6:40 $file_name; done
A závěrečné přejmenování všech fotografií na základě časových razítek:
for file_name in `ls */*.[jJ][pP][gG]`; do [[ $file_name =~ [0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]_[0-9][0-9]-[0-9][0-9]-[0-9][0-9]_.* ]] || exiv2 -r '%Y-%m-%d_%H-%M-%S_:basename:' rename $file_name; done
Předpokládaná adresářová struktura:
photos/2020-10-11_turistika_karlova-studanka
photos/2020-10-12_turistika_karlova-studanka