#/bin/sh # # Version 4 # # Script permettant de faire des statistiques sur les caracteristiques des prises de vues # La difference avec la v3.1 est le traitement d'un toute une année de photos # # Utilisation: lancer le script avec en paramètre l'année # # Remarque: ne prend pas en compte les sous sous répertoire et plus d'une année. # # caracteristiques => stats: Focale / tps exposition / Ouverture / Iso # # recuperation des infos: # annee=$1 rep_photos=/home/fred/photos liste_rep=$rep_photos/rep_infos_photos.txt fichier_stats=$rep_photos/stats_photos_$annee.txt ls $rep_photos/$annee > $liste_rep > $rep_photos/infos_photos.txt while read rep_annee do cd $rep_photos/$annee/$rep_annee jhead *.jpg | grep -E 'Focal|Exposure time|Aperture|ISO' | gawk -F: '{ print $2 }' | gawk '{ print $1 }' >> $rep_photos/infos_photos.txt cd .. done < $liste_rep compteur=0 tps_cumule=0 iso_cumule=0 focale_cumule=0 ouverture_cumule=0 # Initialisation des tableaux de focale et d ouverture # focale de mes objs actuels: 17=>300 ouverture maxi 1.8 maxi 22 (environ) for i in `seq 1 300` do tabouv[$i]=0 tabfoc[$i]=0 done # traitement du fichier contenant les entrees exif pour mettre toutes les infos d'une photo sur 1 ligne > $rep_photos/infos_photos_ligne.txt cpt_ligne=0 while read info do ((cpt_ligne++)) echo -n "$info " >> $rep_photos/infos_photos_ligne.txt if [ $cpt_ligne -eq 4 ] ; then echo >> $rep_photos/infos_photos_ligne.txt cpt_ligne=0 fi done < $rep_photos/infos_photos.txt while read focale tps ouverture iso do focale=`echo $focale | gawk -F. '{ print $1 }'` ((tabfoc[$focale]++)) ouverture=`echo $ouverture | gawk -F/ '{ print $2 }'` # # multiplication par 10 des ouvertures afin de supprimer la virgule de l ouverture # ouverture_10=`echo "$ouverture * 10" | bc -l | gawk -F. '{ print $1 }' ` ((tabouv[$ouverture_10]++)) tps_cumule=`echo " $tps_cumule + $tps " | bc -l` iso_cumule=$(( $iso_cumule + $iso )) focale_cumule=$(($focale_cumule + $focale)) ouverture_cumule=`echo "$ouverture_cumule + $ouverture" | bc -l` ((compteur++)) done < $rep_photos/infos_photos_ligne.txt > $fichier_stats echo "nombre de photos traitées: $compteur" >> $fichier_stats tps_moy=`echo "$tps_cumule / $compteur" | bc -l` >> $fichier_stats echo "Temps exposition moyen = " $tps_moy s ou 1/`echo "1/$tps_moy"| bc -l ` s >> $fichier_stats echo "Sensibilité moyenne = "$(( $iso_cumule / $compteur )) >> $fichier_stats echo "Focale moyenne = "$(( $focale_cumule / $compteur )) >> $fichier_stats echo "Ouverture moyenne = "f/`echo "$ouverture_cumule / $compteur" | bc -l | gawk -F0 '{ print $1 }'` >> $fichier_stats echo "Ouvertures (%): " >> $fichier_stats for i in `seq 18 300` do if [ ${tabouv[$i]} -ne 0 ]; then echo -n "$i: " >> $fichier_stats echo "scale=4; ${tabouv[$i]} / $compteur *100" | bc >> $fichier_stats fi done echo "Focales (%): " >> $fichier_stats for i in `seq 17 300` do if [ ${tabfoc[$i]} -ne 0 ]; then echo -n "$i: " >> $fichier_stats echo "scale=4; ${tabfoc[$i]} / $compteur * 100" | bc -l >> $fichier_stats fi done