Bonjour,
2 petites fonctions qui peuvent t’aider.
La première permet de renommer des fichiers avec une racine suivie d’un numéro :
#=========================================
#echo "Renommage des fichiers, nombre de fichiers a traiter : $#"
num=0
(while [ $# -gt 0 ]; do
type=`echo $1 | cut -f2 -d"."`
let "compteur += 1"
num=$(($num+1))
if [ $num -gt 0 ] && [ $num -lt 10 ]; then # pour les paramètres 1 à 9
numero=00$num # rajouter 2 digit => 001, 002, 003,..., 009
fi
if [ $num -gt 9 ] && [ $num -lt 100 ]; then # pour les paramètres 10 à 99
numero=0$num # rajouter 1 digit => 010, 011, 012,..., 099
fi
if [ $num -gt 100 ] ; then # pour les paramètres supérieur à 100
numero=$num # ne pas rajouter de digit => 100, 101, 102,...
fi
#echo "Renomage de $1 en $NouvNom-$numero.$type"
mv $1 $NouvNom-$numero.$type
let "progress = compteur*100/nbfiles"
echo $progress
shift
done
) | zenity --progress --auto-close --title="$title" --text="$msg_renomm" --percentage=0
La deuxieme est utilisée pour l’import de mes photos en les classant dans un dossier en fonction de la date de la photo
function fct_lire_date_exif ()
{ # Lecture de la date de creation de la photo
#DatePhoto=`jhead $1 | grep Date | awk '{print $3}' | sed "s/:/ /g" `
DatePhoto=`exiv2 $1 | grep timestamp | awk '{print $4}' | sed "s/:/ /g" `
if [[ "$DatePhoto" == "" ]]
then
echo -e "-I-> Il n'y a pas de date de prise de vue dans $1, utilisation de la date du fichier."
echo -e "-D-> Creation des donnees Exif minimale et initalisation de la date exif a la date du fichier."
jhead -mkexif -dsft $1
fi
#Repertoire ou doivent être enregistrees les photos
Annee=`echo $DatePhoto | awk '{print $1}'`
Mois=`echo $DatePhoto | awk '{print $2}'`
Jour=`echo $DatePhoto | awk '{print $3}'`
RepDest=`echo "$RepImages/$Annee/$Annee-$Mois-$Jour"`
if [[ ! -d $RepDest ]]
then
echo -e "\n-I-> Creation du repertoire $RepDest."
mkdir -p $RepDest
fi
#echo "\n-I-> Copie et renommage de $1 "
echo -e " .\c"
cp $1 $RepDest/$1
exiftran -ai $RepDest/$1 # rotation de la photo dans le bon sens
exiv2 mv $RepDest/$1
}