logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
utilisateurs:slyfox:scripts:slyexif [16/06/2017 18:07]
Slyfox [Installation]
utilisateurs:slyfox:scripts:slyexif [16/06/2017 23:16]
Slyfox [Utilisation]
Ligne 14: Ligne 14:
  
 <code root>​apt-get update</​code>​ <code root>​apt-get update</​code>​
-<code root>​apt-get install yad ffmpeg ​libimage-exiftool-perl </​code>​+<code root>​apt-get install yad libimage-exiftool-perl ​ffmpeg</​code>​
  
 Ensuite il suffit de créer un fichier vierge, le nommer "​SlyExif"​ et de copier/​coller le script ci-dessous.\\ Ensuite il suffit de créer un fichier vierge, le nommer "​SlyExif"​ et de copier/​coller le script ci-dessous.\\
Ligne 22: Ligne 22:
 ===== Utilisation ===== ===== Utilisation =====
  
-Il suffit de faire un double clic sur le fichier "​SlyExif"​ et choisir ​"Lancer dans un Terminal".\\ +Il suffit de faire un double clic sur le fichier "​SlyExif"​ et choisir ​<key>Lancer dans un Terminal</​key>​ ou <​key>​Lancer</​key>​.\\
- +
-Ensuite choisissons les fichiers auxquels nous voulons supprimer les métadonnées.\\+
  
 <​note>​SlyExif supprime tout, sauf la date de création du fichier qui est peut être utile pour renommer le fichier ultérieurement</​note>​ <​note>​SlyExif supprime tout, sauf la date de création du fichier qui est peut être utile pour renommer le fichier ultérieurement</​note>​
Ligne 57: Ligne 55:
 "​TRUE"​ "​1"​ "​Editer date de création de l'​image"​ \ "​TRUE"​ "​1"​ "​Editer date de création de l'​image"​ \
 "​FALSE"​ "​2"​ "​Supprimer métadonnées"​ | awk -F [\|] '​{print $1}') "​FALSE"​ "​2"​ "​Supprimer métadonnées"​ | awk -F [\|] '​{print $1}')
 + 
 yadID="​$?"​ yadID="​$?"​
 + 
 # Navigation # Navigation
 if [[ "​${yadMenu}"​ -eq "​1"​ ]]; then if [[ "​${yadMenu}"​ -eq "​1"​ ]]; then
  YADFICHIER  YADFICHIER
- + 
 elif [[ "​${yadMenu}"​ -eq "​2"​ ]]; then elif [[ "​${yadMenu}"​ -eq "​2"​ ]]; then
  YADFICHIERMULTIPLE   YADFICHIERMULTIPLE
 + 
 elif [[ $yadID -eq "​1"​ ]]; then elif [[ $yadID -eq "​1"​ ]]; then
  exit  exit
Ligne 72: Ligne 70:
 elif [[ $yadID -eq "​252"​ ]]; then elif [[ $yadID -eq "​252"​ ]]; then
  exit  exit
-  + 
 fi fi
 } }
Ligne 90: Ligne 88:
 --button="​Menu:​1"​ \ --button="​Menu:​1"​ \
 --button="​Suivant:​0"​) --button="​Suivant:​0"​)
 + 
 yadID="​$?"​ yadID="​$?"​
 + 
 # Navigation # Navigation
 if [[ $yadID -eq "​0"​ ]]; then if [[ $yadID -eq "​0"​ ]]; then
  YADEDIT  YADEDIT
 + 
 elif [[ $yadID -eq "​1"​ ]]; then elif [[ $yadID -eq "​1"​ ]]; then
  YADMENU  YADMENU
Ligne 102: Ligne 100:
 elif [[ $yadID -eq "​252"​ ]]; then elif [[ $yadID -eq "​252"​ ]]; then
  exit  exit
-  + 
 fi fi
 } }
Ligne 109: Ligne 107:
 { {
 warning=""​ warning=""​
 + 
 # Redimensionnement image pour aperçu # Redimensionnement image pour aperçu
 ffmpeg -y -i "​${cheminImage}"​ -vf scale=200:​-1 "​$HOME/​.slyexif/​image_tmp.jpeg"​ ffmpeg -y -i "​${cheminImage}"​ -vf scale=200:​-1 "​$HOME/​.slyexif/​image_tmp.jpeg"​
 + 
 dateTimeOriginal=$(exiftool "​${cheminImage}"​ | awk '/​Date\/​Time Original/ {print $4}' | awk 'NR==1 {print $0}') dateTimeOriginal=$(exiftool "​${cheminImage}"​ | awk '/​Date\/​Time Original/ {print $4}' | awk 'NR==1 {print $0}')
 + 
 if [[ -z "​${dateTimeOriginal}"​ ]]; then if [[ -z "​${dateTimeOriginal}"​ ]]; then
  dateTimeOriginal=$(date '​+%Y:​%m:​%d'​)  dateTimeOriginal=$(date '​+%Y:​%m:​%d'​)
  warning=(Avertissement\ la\ date\ et\ l\'​heure\ réelles\ de\ l\'​image\ n\'​ont\ pas\ pu\ être\ trouvées.!gtk-dialog-warning)  warning=(Avertissement\ la\ date\ et\ l\'​heure\ réelles\ de\ l\'​image\ n\'​ont\ pas\ pu\ être\ trouvées.!gtk-dialog-warning)
 fi fi
 + 
 heureTimeOriginal=$(exiftool "​${cheminImage}"​ | awk '/​Date\/​Time Original/ {print $5}' | awk 'NR==1 {print $0}') heureTimeOriginal=$(exiftool "​${cheminImage}"​ | awk '/​Date\/​Time Original/ {print $5}' | awk 'NR==1 {print $0}')
 + 
 if [[ -z "​${heureTimeOriginal}"​ ]]; then if [[ -z "​${heureTimeOriginal}"​ ]]; then
  heureTimeOriginal=$(date '​+%H:​%M:​%S'​)  heureTimeOriginal=$(date '​+%H:​%M:​%S'​)
 fi fi
 + 
 yadDate=$( yadDate=$(
 yad --form \ yad --form \
Ligne 147: Ligne 145:
 --button="​Menu:​1"​ \ --button="​Menu:​1"​ \
 --button="​Enregistrer les métadonnées:​0"​) --button="​Enregistrer les métadonnées:​0"​)
 + 
 yadID="​$?"​ yadID="​$?"​
 + 
 yadDate=$(awk -F[\|] '​{print $6,​$9}'​ <<<​ "​${yadDate}}"​) yadDate=$(awk -F[\|] '​{print $6,​$9}'​ <<<​ "​${yadDate}}"​)
 + 
 # Navigation # Navigation
 if [[ $yadID -eq "​0"​ ]]; then if [[ $yadID -eq "​0"​ ]]; then
  EDIT  EDIT
 + 
 elif [[ $yadID -eq "​1"​ ]]; then elif [[ $yadID -eq "​1"​ ]]; then
  YADMENU  YADMENU
- + 
 elif [[ $yadID -eq "​2"​ ]]; then elif [[ $yadID -eq "​2"​ ]]; then
  YADMENU  YADMENU
Ligne 164: Ligne 162:
 elif [[ $yadID -eq "​252"​ ]]; then elif [[ $yadID -eq "​252"​ ]]; then
  exit  exit
-  + 
 fi fi
 } }
Ligne 172: Ligne 170:
 exiftool -AllDates="​${yadDate}"​ -overwrite_original "​${cheminImage}"​ exiftool -AllDates="​${yadDate}"​ -overwrite_original "​${cheminImage}"​
 exiftool "​${cheminImage}"​ exiftool "​${cheminImage}"​
 + 
 # Mémorisation du dernier dossier ouvert # Mémorisation du dernier dossier ouvert
 a=$(awk 'NR==1 {printf "​%s\n"​ ,$0}' <<<​ "​${cheminImage}"​) a=$(awk 'NR==1 {printf "​%s\n"​ ,$0}' <<<​ "​${cheminImage}"​)
 b="​${a%/​*}"​ b="​${a%/​*}"​
 cheminDossier=$(awk '​{printf "​%s/"​ ,$0}' <<<​ "​${b}"​) cheminDossier=$(awk '​{printf "​%s/"​ ,$0}' <<<​ "​${b}"​)
 + 
 YADMENU YADMENU
 } }
Ligne 195: Ligne 193:
 --button="​Menu:​1"​ \ --button="​Menu:​1"​ \
 --button="​Suivant:​0"​) --button="​Suivant:​0"​)
 + 
 yadID="​$?"​ yadID="​$?"​
 + 
 # Navigation # Navigation
 if [[ $yadID -eq "​0"​ ]]; then if [[ $yadID -eq "​0"​ ]]; then
  YADINFOFICHIERNETTOYER  YADINFOFICHIERNETTOYER
 + 
 elif [[ $yadID -eq "​1"​ ]]; then elif [[ $yadID -eq "​1"​ ]]; then
  YADMENU  YADMENU
Ligne 207: Ligne 205:
 elif [[ $yadID -eq "​252"​ ]]; then elif [[ $yadID -eq "​252"​ ]]; then
  exit  exit
-  + 
 fi fi
 } }
Ligne 229: Ligne 227:
 --field="​ ":LBL ""​ \ --field="​ ":LBL ""​ \
 --field="​${cheminImage}":​LBL ""​) --field="​${cheminImage}":​LBL ""​)
 + 
 yadchoix=$(awk -F[\|] '​{print $2}' <<<​ "​${yadchoix}"​) yadchoix=$(awk -F[\|] '​{print $2}' <<<​ "​${yadchoix}"​)
 + 
 yadID="​$?"​ yadID="​$?"​
 + 
 # Navigation # Navigation
 if [[ "​${yadID}"​ -eq "​0"​ ]]; then  if [[ "​${yadID}"​ -eq "​0"​ ]]; then
  NETTOYAGE  NETTOYAGE
 + 
 elif [[ $yadID -eq "​1"​ ]]; then elif [[ $yadID -eq "​1"​ ]]; then
  YADMENU  YADMENU
Ligne 243: Ligne 241:
 elif [[ $yadID -eq "​252"​ ]]; then elif [[ $yadID -eq "​252"​ ]]; then
  exit  exit
-  + 
 fi fi
 + 
 } }
 #​======================================================================================================================================= #​=======================================================================================================================================
 function NETTOYAGE() function NETTOYAGE()
 { {
 +# Calcul nombre fichiers sélectionnés
 IFS=$'​\n'​  IFS=$'​\n'​
- + 
 +nbrFichier=0 
 +
 for i in ${cheminImage};​ do for i in ${cheminImage};​ do
 + ((nbrFichier+=1))
 +done
  
- extention=$(awk -F [.] '​{print $NF}' <<< ​"${i}")+pourcentFichier=$(echo "scale=9; 100/${nbrFichier}" ​| bc)
  
 +pourcent="​0"​
 +nbr="​1"​
 +
 +IFS=$'​\n'​
 +
 +for i in ${cheminImage};​ do
 + 
 + extention=$(awk -F [.] '​{print $NF}' <<<​ "​${i}"​)
 + 
  if [[ ${extention} == "​jpg"​ ]] || [[ ${extention} == "​JPG"​ ]] ||   if [[ ${extention} == "​jpg"​ ]] || [[ ${extention} == "​JPG"​ ]] || 
  [[ ${extention} == "​jpeg"​ ]] || [[ ${extention} == "​JPEG"​ ]] ||   [[ ${extention} == "​jpeg"​ ]] || [[ ${extention} == "​JPEG"​ ]] || 
Ligne 261: Ligne 273:
    
  dateSave=$(exiftool "​${i}"​ | awk '/​Date\/​Time Original/ {print $(NF-1),​$NF}'​)  dateSave=$(exiftool "​${i}"​ | awk '/​Date\/​Time Original/ {print $(NF-1),​$NF}'​)
-  + 
  exiftool -all= "​${i}"​ -overwrite_original  exiftool -all= "​${i}"​ -overwrite_original
- + 
  if [[ "​${yadchoix}"​ == "​FALSE"​ ]]; then  if [[ "​${yadchoix}"​ == "​FALSE"​ ]]; then
-  + 
  exiftool -AllDates="​${dateSave}"​ -overwrite_original "​${i}"​  exiftool -AllDates="​${dateSave}"​ -overwrite_original "​${i}"​
  fi  fi
-  + 
  exiftool "​${i}"​  exiftool "​${i}"​
- + 
  # Mémorisation du dernier dossier ouvert  # Mémorisation du dernier dossier ouvert
  a=$(awk 'NR==1 {printf "​%s\n"​ ,$0}' <<<​ "​${i}"​)  a=$(awk 'NR==1 {printf "​%s\n"​ ,$0}' <<<​ "​${i}"​)
Ligne 276: Ligne 288:
  cheminDossier=$(awk '​{printf "​%s/"​ ,$0}' <<<​ "​${b}"​)  cheminDossier=$(awk '​{printf "​%s/"​ ,$0}' <<<​ "​${b}"​)
   
 + pourcent=$(echo "​scale=9;​ (${pourcent} + ${pourcentFichier})"​ | bc) 
 + pourcentDigit=$(awk '​{printf "​%d"​ ,$1}' <<<​ "​${pourcent}"​)
 +
 +
 + if [[ "​${pourcentDigit}"​ -ge "​100"​ ]]; then 
 + echo "​99"​
 + echo -e "​\n#​Nombre de fichiers modifiés ${nbr} sur ${nbrFichier}"​
 + sleep 3
 +
 + else
 + echo "​${pourcent}"​
 + ((nbr+=1))
 + echo -e "​\n#​Nombre de fichiers modifiés ${nbr} sur ${nbrFichier}"​
 + fi
 +
  else  else
- + 
  echo "​ERREUR ! Fichier pas pris en charge par SlyExif."​  echo "​ERREUR ! Fichier pas pris en charge par SlyExif."​
- + 
  fi  fi
    
-done+done | yad --progress --title="​SlyExif"​ --auto-close --auto-kill 
    
 YADMENU YADMENU
 } }
 #​======================================================================================================================================= #​=======================================================================================================================================
 + 
 # Lancement du script # Lancement du script
 +etatPaquet=$(dpkg --get-selections | awk '{if ($1 == "​yad"​) {print $2}}')
 +[[ "​${etatPaquet}"​ !=  "​install"​ ]] && echo -e "\nLe paquet \"​yad\"​ n'est pas installé, merci de l'​installer.\n"​ && exit
 +
 +etatPaquet=$(dpkg --get-selections | awk '{if ($1 == "​libimage-exiftool-perl"​) {print $2}}')
 +[[ "​${etatPaquet}"​ !=  "​install"​ ]] && echo -e "\nLe paquet \"​libimage-exiftool-perl\"​ n'est pas installé, merci de l'​installer.\n"​ && exit
 +
 +etatPaquet=$(dpkg --get-selections | awk '{if ($1 == "​ffmpeg"​) {print $2}}')
 +[[ "​${etatPaquet}"​ !=  "​install"​ ]] && echo -e "\nLe paquet \"​ffmpeg\"​ n'est pas installé, merci de l'​installer.\n"​ && exit
 +
 cheminDossier="​$HOME/​Images"​ cheminDossier="​$HOME/​Images"​
 [[ ! -d "​$HOME/​.slyexif"​ ]] && mkdir "​$HOME/​.slyexif"​ [[ ! -d "​$HOME/​.slyexif"​ ]] && mkdir "​$HOME/​.slyexif"​
 + 
 YADMENU YADMENU
 </​file>​ </​file>​

Pied de page des forums

Propulsé par FluxBB