Tags: identify,photos,ImageMagick

Sort by: Date / Title /

  1. 6 months ago by benoitbalon
    Ce petit script permet de renommer des photos avec leurs date et heure de prise. Dans le cas de photos prises par différents appareils, cela permet de toutes les réordonner par heure de prise de vue (si toutefois les appareils photos sont tous configurés à la bonne date et à la bonne heure).
    1. #!/bin/bash
    2.  
    3. repertoire=$1
    4. nomsortie=$2
    5.  
    6. # Lancement de l'outil d'ImageMagick
    7. traite_exif ()
    8. {
    9.         exif=`identify -verbose -quiet "$i" 2>> /dev/null | grep 'xif:DateTime:' | tr -d ' '`
    10.         if test "$exif" = "";then continue;fi
    11.         annee=`echo $exif | cut -d ':' -f3`
    12.         mois=`echo $exif | cut -d ':' -f4`
    13.         jour=`echo $exif | cut -d ':' -f5 | cut -c1-2`
    14.         heure=`echo $exif | cut -d ':' -f5 | cut -c3-4`
    15.         minute=`echo $exif | cut -d ':' -f6`
    16.         seconde=`echo $exif | cut -d ':' -f7`
    17.         date_complete=`printf '%s_%s_%s_%sh%sm%s_%s.jpg' $annee $mois $jour $heure $minute $seconde "$nomsortie"`
    18.         echo "${date_complete}"
    19.         cp $i $repertoire/$nomsortie/$date_complete
    20. }
    21.  
    22. # On verifie qu'un repertoire a ete entre
    23. if test "$repertoire" = ""
    24. then
    25.         echo "Veuillez preciser le repertoire de photos a traiter !"
    26.         exit 1
    27. fi
    28.  
    29. # On verifie qu'un nom a ete entre
    30. if test "$nomsortie" = ""
    31. then
    32.         echo "Veuillez preciser un nom de fichier generique a donner a vos photos !"
    33.         exit 2
    34. fi
    35.  
    36. # On verifie que le programme identify existe
    37. which identify >> /dev/null 2>> /dev/null
    38. identify_exists=`echo $?`
    39. if test $identify_exists -ne 0
    40. then
    41.         echo "Veuillez installer ImageMagick !"
    42.         exit 1
    43. fi
    44.  
    45. mkdir $repertoire/$nomsortie
    46.  
    47. ls -b1 $repertoire/* | while read i
    48. do
    49.         nb_char=`echo -n "$i" | wc -c`
    50.         prem_char=`expr $nb_char - 3`
    51.         extension=`echo "$i" | cut -c${prem_char}-${nb_char} | tr a-z A-Z`
    52.         if test "JPEG" = "$extension" || test ".JPG" = "$extension"
    53.         then
    54.                 traite_exif "$i"
    55.         fi
    56. done

First / Previous / Next / Last / Page 1 of 1 (1 posteets)