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 [17/06/2017 08:54]
Slyfox [Script]
Ligne 7: Ligne 7:
 ===== Introduction ===== ===== Introduction =====
  
-SlyExif ​supprime via une mini interface graphique ​les métadonnées exif (comme par exemple données GPStype d'appareils...) des images jpg/jpeg/png en conservant uniquement ​la date de création ​(version en test).+SlyExif ​est une mini interface graphique ​basé sur exiftoolil 2 fonctions:​ 
 + 
 +  * Éditer la date de création de l'image jpeg/jpg/png
 +  * Supprimer ​en masse les métadonnées avec possibilité de conserver ​la date de création.
  
 ===== Installation ===== ===== Installation =====
Ligne 22: Ligne 25:
 ===== 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</​keyou <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 important>Attention! les métadonnées seront effacées et ne pourront pas être récupérées !!!</note>+
  
  
Ligne 37: Ligne 34:
    
 # Auteur: Slyfox # Auteur: Slyfox
 +# Date dernière version: 16 juin 2017 23h20
 # Dépendence:​ yad, libimage-exiftool-perl,​ ffmpeg # Dépendence:​ yad, libimage-exiftool-perl,​ ffmpeg
    
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 
 +  
 +pourcentFichier=$(echo "​scale=9;​ 100/​${nbrFichier}"​ | bc) 
 +  
 +pourcent="​0"​ 
 +nbr="​1"​ 
 +  
 +IFS=$'​\n'​  
 +  
 +for i in ${cheminImage};​ do 
 + 
  extention=$(awk -F [.] '​{print $NF}' <<<​ "​${i}"​)  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 272:
    
  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}"​)
  b="​${a%/​*}"​  b="​${a%/​*}"​
  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
 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