#!/bin/bash if [ $1 ] then if [ $1 == '-h' ] then echo Usage: prename [dir] echo echo renames all jpg, mov, avi files in dir to echo MMDD-hhmmss.{jpg,avi,mov} echo 'time and date is based on exif (for jpg),' echo 'creation date (for avi, mov),' echo 'or corresponding jpg exif date and time' echo '(for wav - assuming that the wav file' echo 'is an audio annotation for a jpg with the same name)' echo exit fi cd $1 fi # process video for i in *.avi do if [ $i == \*.avi ] then break fi DATE=`ls --full-time $i | awk '{print $6" "$7}' | awk -F'.' '{print $1}'` NNAME=`date -d "$DATE" +%m%d-%H%M%S` NNAME=$NNAME.avi if [ $i != $NNAME ] then mv $i $NNAME fi done for i in *.mov do if [ $i == \*.mov ] then break fi DATE=`ls --full-time $i | awk '{print $6" "$7}' | awk -F'.' '{print $1}'` NNAME=`date -d "$DATE" +%m%d-%H%M%S` NNAME=$NNAME.mov if [ $i != $NNAME ] then mv $i $NNAME fi done # process audio files for i in *.wav do if [ $i == \*.wav ] then break fi # related jpg RJPG=`echo $i | sed s/\.wav$/\.jpg/` # convert jpg name and store a new name for the wav NNAME=`jhead -nf $RJPG | sed 's/\(.*\)--> \(.*\).jpg/\2\.wav/'` # rename wav if [ $NNAME ] then mv $i $NNAME if [ $? -ne 0 ] then echo "A JPG file for the $i is missing." read fi fi done # process jpg files jhead -nf *.jpg >/dev/null