Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 13/11/2017, à 07:45

Darkforce

[RESOLU] Programme tri photo V2

Bonjour,

hier j'ai ouvert une discussion sur mon programme de tri de photos mais y'avais beaucoup trop de fautes je l'ai donc refais hier soir et maintenant il fonctionne mais j'ai tout de même une question.

Le programme:

#!/bin/bash

clear
echo "COPIE ET CLASSSEMENT IMAGES PAR DATE"
echo "Tapez le chemin absolue du dossier contenant les images"
read CHEMIN	
mkdir $CHEMIN/PICTURES-SORT
cd $CHEMIN



#Partie selection des fichiers images et extration tag

for FILES in *.jpg
do
  exif -t=0x0132 $FILES >DATE.txt
  sed -n '/^..Value/p' DATE.txt >DATE2.txt              # 1) ici il y a beaucoup trop de redirection 
  cut -c10-19 DATE2.txt >DATE3.txt
  sed 's/:/-/g' DATE3.txt >DATE4.txt
  sed "s/$/:$FILES/" DATE4.txt >>TMP_EXIF_INFO.txt
  echo "Extration du tag de la photo $FILES DONE"
done 


#Partie classement

sort -k 1 TMP_EXIF_INFO.txt
i=1
while read line
do 
  sed -n " $i p" TMP_EXIF_INFO.txt >TMP_UNIQ_EXIF_INFO.txt
  FILENAME=$(cut -d : -f 2 TMP_UNIQ_EXIF_INFO.txt)
  cp $CHEMIN/$FILENAME  $CHEMIN/PICTURES-SORT/$i-$FILENAME
  let "i=$i+1"
done <TMP_EXIF_INFO.txt



1)  J'ai essayé de faire avec la commande:

    |

Exemple:

sed -n '/^..Value/p' | cut -c10-19 Fichier

Mais ça ne fontionne pas du coup je me retrouve avec 6 fichiers différents

Dernière modification par Darkforce (Le 13/11/2017, à 14:03)

Hors ligne

#2 Le 13/11/2017, à 07:51

pingouinux

Re : [RESOLU] Programme tri photo V2

Bonjour,

      sed -n '/^..Value/p' DATE.txt >DATE2.txt              # 1) ici il y a beaucoup trop de redirection

Cette commande retourne toutes les lignes du fichier DATE.txt commençant par 2 caractères quelconques suivis de Value.

Hors ligne

#3 Le 13/11/2017, à 08:04

Darkforce

Re : [RESOLU] Programme tri photo V2

oui c'est exact mais au final y'en a qu'une et elle contient la date mais si tu pourrais m'aider pour cette histoire de redirections je suis sur qu'il y a  un moyen plus simple que ce que j'ai fais

je veux juste replacer  > par   |

Dernière modification par Darkforce (Le 13/11/2017, à 08:05)

Hors ligne

#4 Le 13/11/2017, à 08:16

pingouinux

Re : [RESOLU] Programme tri photo V2

Il faudrait que tu montres le contenu de DATE.txt et ce que tu veux obtenir.

Hors ligne

#5 Le 13/11/2017, à 08:33

Darkforce

Re : [RESOLU] Programme tri photo V2

Très bien la je suis en cours mais a 9h30 je le met merci!

Hors ligne

#6 Le 13/11/2017, à 09:47

Darkforce

Re : [RESOLU] Programme tri photo V2

Contenue de DATE.txt :

EXIF entry 'Date and Time' (0x132, 'DateTime') exists in IFD '0':
Tag: 0x132 ('DateTime')
  Format: 2 ('ASCII')
  Components: 20
  Size: 20
  Value: 2016:07:13 20:24:21



Contenue de TMP_EXIF_INFO:

2016-07-11:1.jpg
2016-07-11:20160711_073441.jpg
2016-07-11:20160711_073454.jpg
2016-07-11:20160711_073506.jpg
2016-07-11:20160711_073519.jpg
2016-07-11:20160711_073528.jpg
2016-07-11:20160711_073540.jpg
2016-07-11:20160711_073549.jpg
2016-07-11:20160711_073556.jpg
2016-07-11:20160711_073610.jpg
2016-07-11:20160711_073616.jpg
2016-07-11:20160711_073627.jpg
2016-07-11:20160711_073637.jpg
2016-07-11:20160711_073648.jpg
2016-07-11:20160711_073701.jpg
2016-07-11:20160711_073726.jpg
2016-07-13:20160713_201959.jpg
2016-07-13:20160713_202019.jpg
2016-07-13:20160713_202040.jpg
2016-07-13:20160713_202102.jpg
2016-07-13:20160713_202214.jpg
2016-07-13:20160713_202220.jpg
2016-07-13:20160713_202225.jpg
2016-07-13:20160713_202252.jpg
2016-07-13:20160713_202256.jpg
2016-07-13:20160713_202416.jpg
2016-07-13:20160713_202423.jpg

Contenue de TMP_EXIF_UNIQ_INFO.txt:

2016-07-13:20160713_202423.jpg

Voila merci pour ton aide !

Dernière modification par Darkforce (Le 13/11/2017, à 10:45)

Hors ligne

#7 Le 13/11/2017, à 10:26

pingouinux

Re : [RESOLU] Programme tri photo V2

Tu peux déjà remplacer la première boucle par :

for FILES in *.jpg
do
  awk -v f="$FILES" '/^..Value/{gsub(":","-",$2);print $2":"f}' DATE.txt
  echo "Extration du tag de la photo $FILES DONE" >&2
done >TMP_EXIF_INFO.txt

Hors ligne

#8 Le 13/11/2017, à 10:33

cqfd93

Re : [RESOLU] Programme tri photo V2

Modération

Bonjour,

Pour ajouter toi-même les balises code à ton message #6 :

  • Cliquer sur le lien « Modifier » en bas à droite du message

  • Sélectionner le texte

  • Cliquer sur le <> de l'éditeur de message
    1471986854.png


cqfd93

Hors ligne

#9 Le 13/11/2017, à 10:52

Darkforce

Re : [RESOLU] Programme tri photo V2

Beaucoup plus pratique avec awk merci beaucoup !
Sais tu si il existe un livre a son sujet?Je sais qu'il y a celui d'o'reilly mais il est en anglais et j'ai le livre bash des editions eni mais awk n' est que brièvement introduit.J'aimerai vraiment apprendre tous ce qu'on peut faire avec.

Dernière modification par Darkforce (Le 13/11/2017, à 10:53)

Hors ligne

#10 Le 13/11/2017, à 10:59

pingouinux

Re : [RESOLU] Programme tri photo V2

Et si j'ai bien compris, voici la seconde boucle :

i=1
while read line
do 
  FILENAME=$(cut -d : -f 2 <<<"$line")
  cp "$CHEMIN/$FILENAME"  "$CHEMIN/PICTURES-SORT/$((i++))-$FILENAME"
done <TMP_EXIF_INFO.txt

ou, si tu veux trier les fichiers :

i=1
while read line
do
  FILENAME=$(cut -d : -f 2 <<<"$line")
  cp "$CHEMIN/$FILENAME"  "$CHEMIN/PICTURES-SORT/$((i++))-$FILENAME"
done < <(sort TMP_EXIF_INFO.txt)

Hors ligne

#11 Le 13/11/2017, à 11:17

Darkforce

Re : [RESOLU] Programme tri photo V2

Parfait merci mon programme et bien plus efficace grace a toi !

Hors ligne

#12 Le 13/11/2017, à 11:22

pingouinux

Re : [RESOLU] Programme tri photo V2

C'est parce que ta seconde boucle parcourait le fichier TMP_EXIF_INFO.txt, et pour chaque ligne lue, faisait un sed sur tout le fichier.

Hors ligne