DCIM kausta piltide mass-ümbernimetamine mustri järgi
Allikas: Pingviini viki
#!/bin/bash nimekiri=$(find -iname "*.jpg") for fail in $nimekiri do kuupaev=$(exif -m -t "Date and Time" $fail | sed -r -e "s/ /_/g") uusnimi="$kuupaev"_"$(echo "$fail" | sed -r -e "s/(.*DCIM\/)([[:digit:]]*)([[:alpha:]]*\/IMG_)(.*)/\2\4/")" echo $fail "->" $uusnimi # mv -v $fail $uusnimi done
Vaata ka
Kohandatud variant:
#!/bin/bash ## koosta nimekiri jpg failidest nimekiri=$(find -iname "*.jpg") ## käivitame tsükli $nimekiri sissekannete raames for fail in $nimekiri do ## loeme EXIF andmetest pildistamise aja kujul AAAA:KK:PP TT:MM ja pöörame selle kujule PP.KK.AA TT:MM kuupaev=$(exif -m -t "Date and Time" $fail | sed -r "s/^([19|20]{2})([0-9]{2}):([0-9]{2}):([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})$/\4.\3.\2 \5:\6/g") ## viime ühte sõnesse kokku kuupäev-kellaaeg, kausta nr ja faili nr. "Eemaldame" EOS5D/IMG_ reliktid tulevasest failiteest. Faililaiendi tähed langetame. uusnimi="$kuupaev"_"$(echo "$fail" | sed -r -e 's/.\/DCIM\/([0-9]{3})[A-Za-z0-9\/]*_([0-9]{4})(.*)$/\1\2\3/' -e 's/JPG/jpg/')" ## Muudatuste kontrollkuva echo $fail "->" $uusnimi ## Reaalne faili ümbernimetamine koos asukoha muudatusega. Eemalda # alles peale veendumist, et skript toimib vigadeta kujul: ## ./DCIM/345EOS5D/IMG_2293.JPG -> 29.05.10 14:16.24_3452293.jpg # mv -v $fail $uusnimi done