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 05/09/2012, à 18:44

ar barzh paour

[Résolu] awk et getline

re bonjour à tous
aux spécialistes
qui peut m'expliquer où ça ne va pas ? , j'ai ajouté des traces print car je ne comprends pas !!!!!

nom_fich représente une image qui n'a pas de commentaire

function lire_comment ( nom_fich ) {
commande="exiv2 '"nom_fich"' |grep -i comment"     # renvoie le commentaire d'une image
commande|getline valeur				#renvoi Exif Commentaire : <----le commentaire----->
print "valeur"
print "***>"valeur"<****"
print length(valeur)
print split(valeur,commentaire,":")
print "longueur"
print length(commentaire[1])
print "***>"commentaire[1]"<***"
print length(commentaire[2])
print "***>"commentaire[2]"<***"
sub(" ","",commentaire[2])
comment=commentaire[2]
return comment

résultat

valeur
***>Commentaire Exif: <****	#ça c'est bon la chaine est Commentaire Exif: 
274				#ça je ne comprends pas je devrais avoir 18 !!!!!	
2				#ok
longueur
16				#ok
***>Commentaire Exif<***
257				# 257 pour le deuxième champ  
***> <***			# qui vaut une espace ??????????


remarque : mon code fonctionne très bien sur une image qui elle a un commentaire

valeur
***>Commentaire Exif: Québec<****
24                                          OK longueur totale
2                                            OK
longueur
16                                          OK 
***>Commentaire Exif<***
7                                            OK
***> Québec<***


où est l'erreur ?

Dernière modification par ar barzh paour (Le 06/09/2012, à 03:19)


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram Ubuntu 22.04 Ubuntu 24.04 , W10-PRO( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne

#2 Le 05/09/2012, à 19:17

pingouinux

Re : [Résolu] awk et getline

Bonsoir ar barzh paour,
Il t'arrive toujours des trucs extraordinaires. Je viens de tester ton script chez moi, et il fonctionne bien même si l'image n'a pas de commentaire.

Hors ligne

#3 Le 05/09/2012, à 20:41

ar barzh paour

Re : [Résolu] awk et getline

rebonsoir pingouinux , et oui je suis toujours à triturer mes données exif de photos !!

effectivement ce n'est pas systématique
sur certaines sélections de photos je n'ai aucun problème , mon script me renvoie bien un commentaire vide , alors que sur d'autres photos c'est systématiquement l'erreur du post 1
il faudrait que je creuse en regardant de plus près où sont les commentaires dans la photo mais pas facile !
et d'autre part ça ne m'expliquerait pas les résulta (257 pour une espace dans le cas du post 1)


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram Ubuntu 22.04 Ubuntu 24.04 , W10-PRO( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne

#4 Le 05/09/2012, à 20:54

pingouinux

Re : [Résolu] awk et getline

Il faudrait vérifier, sur une photo apparemment sans commentaire qui pose problème, ce qu'il y a réellement dans le commentaire (je pense à des caractères non imprimables).

exiv2 photo_à_problème.jpg | grep -i comment | xxd

Hors ligne

#5 Le 06/09/2012, à 03:18

ar barzh paour

Re : [Résolu] awk et getline

j'y ai pensé en faisant 1>tmp.txt

commande="exiv2 '"nom_fich"' 1>tmp.txt"
system(commande)

oui c'est ça je viens d'en voyer le résultat de ma commande exif dans un fichier texte tmp.txt
à l'ouverture j'ai un message d'erreur "un problème est apparu lors de l'ouverture du fichier tmp.txt
ouvrir quand même

Commentaire Exif: \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00

256  \00 !!! précédés de espace !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! = 257
je marque résolu !!!!
je n'ai plus qu'à adapter mon code

sinon avec ta méthode exiv2 cluny.jpg|grep -i commentaire|xxd un peu plus facile

 xxx@xxx-desktop:~/zwrk$ exiv2 cluny.jpg|grep -i commentaire|xxd
0000000: 436f 6d6d 656e 7461 6972 6520 4578 6966  Commentaire Exif
0000010: 3a20 0000 0000 0000 0000 0000 0000 0000  : ..............
0000020: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000030: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000040: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000050: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000060: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000070: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000080: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000090: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000100: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000110: 0000 0a                                  ...

Dernière modification par ar barzh paour (Le 06/09/2012, à 16:59)


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram Ubuntu 22.04 Ubuntu 24.04 , W10-PRO( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne

#6 Le 08/09/2012, à 03:28

ar barzh paour

Re : [Résolu] awk et getline

la solution que j'ai trouvée :

commande="exiv2 -pa '"nom_fich"' | grep -i comment | grep -i \"Valeur binaire supprimée\""
commande|getline vv

qui me renvoie vv vide si OK , non vide sinon


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram Ubuntu 22.04 Ubuntu 24.04 , W10-PRO( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne