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 09/08/2022, à 21:12

visual1956

affichage caractère spéciaux dans echo ou cat

bonjour
jj'ai un fichier txt qui contient des séparateur et des retours lignes
j'aimerais éditer le fichier  en faisant apparaitre tous les caractères spéciaux.
Comment faire ?
dois faire une lecture  octet par octet ou existe t(il une option dans cat ; cut: ou echo qui me le permet
Par avance merci

Hors ligne

#2 Le 09/08/2022, à 21:16

Watael

Re : affichage caractère spéciaux dans echo ou cat

salut,

j'aimerais éditer le fichier

qu'entends-tu par "éditer" ?
qu'appelles-tu "caractères spéciaux" ?
pourquoi est-il indispensable de faire apparaître ces caractères spéciaux ?

tu peux nous mettre le fichier en pièce jointe ?


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#3 Le 09/08/2022, à 23:54

visual1956

Re : affichage caractère spéciaux dans echo ou cat

bonsoir
dans le cadre de mon apprentissage aux commandes linux Bash en vue de développer mon script de détermination des pays en fonction des données Exif (objet d'un autre post)  j'étudie la commande read.
et dans ce cadre j'ai été amené me poser la question sur la possibilité  de faire apparaitre sur la sortie standart  tous le caractères spéciaux tels que tabulations , retours ligne séparateur etc
d'où cette question purement intellectuelle

Hors ligne

#4 Le 10/08/2022, à 03:44

Watael

Re : affichage caractère spéciaux dans echo ou cat

le travail de read c'est de lire ! wink
l'affichage, c'est le travail de echo et printf.
autant que je sache seul printf pourrait faire ce que tu veux :

$ read -d '' <<<'      foo bar
baz'
$ printf '%q\n' "$REPLY"
$'\tfoo bar\nbaz\n'

il est important de ne pas indiquer de nom de variable pour conserver les "blancs" en début de ligne.


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#5 Le 10/08/2022, à 12:01

Hizoka

Re : affichage caractère spéciaux dans echo ou cat

Salut,

merci pour la commande, je mets de coté, ça peut toujours servir smile


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#6 Le 10/08/2022, à 14:07

erresse

Re : affichage caractère spéciaux dans echo ou cat

Salut Watael,
Est-ce que tu pourrais confirmer si la commande read telle que tu la montres est capable de lire correctement un fichier de vignette (~/.cache/thumbnails/normal/<n'importe_quelle_vignette>) ?
Cette question car, à ma connaissance, il y a des compteurs ou adresses en binaire qui peuvent contenir des $'\x00' considérés comme caractères "nul" qui bloquent la lecture...
Et comme je suis justement en train de travailler sur ce type de fichier, pouvoir le lire correctement me tient vraiment à cœur. big_smile
Merci de ta participation.

Dernière modification par erresse (Le 10/08/2022, à 14:09)


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#7 Le 10/08/2022, à 17:24

Watael

Re : affichage caractère spéciaux dans echo ou cat

~ $ ls .cache/thumbnails/
ls: impossible d'accéder à '.cache/thumbnails/': Aucun fichier ou dossier de ce type

sad

mais ce sont des fichiers images, read est prévu pour lire du texte, pas des "fichiers binaires" (comme le dit less).

la commande read telle que donnée ici considère le caractère NULL comme séparateur d'enregistrements.


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#8 Le 10/08/2022, à 18:07

erresse

Re : affichage caractère spéciaux dans echo ou cat

OK, c'est bien ce que j'avais constaté et je craignais qu'en effet il n'y ait pas d'astuce pour lire un fichier de ce type avec "read". Dommage, on a parfois besoin de travailler avec de tels fichiers et je ne vois pas trop comment le faire en shell...


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#9 Le 10/08/2022, à 19:17

pingouinux

Re : affichage caractère spéciaux dans echo ou cat

Bonjour,
@erresse : Tu peux éventuellemant lire le fichier octet par octet en utilisant python

$ cat lecture.py
import sys
with open(sys.argv[1],'rb') as f: s=(f.read())
for c in s: sys.stdout.write('%02x '%(c))
print()
$ cat fichier
ABéCD
$ hd fichier
00000000  41 00 42 00 c3 a9 43 00  44 0a                    |A.B...C.D.|
0000000a
$ python3 lecture.py fichier
41 00 42 00 c3 a9 43 00 44 0a

Hors ligne

#10 Le 10/08/2022, à 21:12

Watael

Re : affichage caractère spéciaux dans echo ou cat

on a parfois besoin de travailler avec de tels fichiers

en shell ?
pour quoi faire par exemple ?
il doit bien y avoir des outils dédiés, tu ne dois pas être le seul à avoir des trucs à faire de cette manière.


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#11 Le 10/08/2022, à 22:31

MicP

Re : affichage caractère spéciaux dans echo ou cat

Bonjour

Dans son message #2, visual1956 a écrit :

… j'étudie la commande read.…en fonction des données Exif …

Donc tu voudrais utiliser la commande read dans un script bash pour lire la sortie d'une commande qui va retourner des données Exif d'un fichier image

Donc il nous faudrait un exemple concret d'un retour utilisable la commande qui va extraire les données Exif telle que tu comptes l'utiliser dans ton script
+ un exemple concret de ce que tu veux extraire de cette sortie de commande qui retournera les données Exif

Puis nous dire ce que tu veux faire des données extraites ( => comment tu veux que la sortie du script bash soit formatée et pourquoi <=> en fonction de ce que tu veux en faire)

Dernière modification par MicP (Le 10/08/2022, à 23:11)

Hors ligne

#12 Le 10/08/2022, à 23:23

Tawal

Re : affichage caractère spéciaux dans echo ou cat

Hello,

@erresse :
Si j'ai bien compris, tu cherches à lire les métas données d'une image thumbails.
Ces images sont en général au format PNG.
Avec imagemagick, il y a une fonction qui le permet :

$ identify  ~/.cache/thumbnails/normal/fffe91db735eaac34f4f1a4ab5b5231a.png 
/home/tawal/.cache/thumbnails/normal/fffe91db735eaac34f4f1a4ab5b5231a.png PNG 32x32 32x32+0+0 8-bit sRGB 1621B 0.000u 0:00.000

et avec l'option -verbose, le retour est beaucoup plus parlant (voir bavard tongue) :

$ identify -verbose ~/.cache/thumbnails/normal/fffe91db735eaac34f4f1a4ab5b5231a.png 
Image:
  Filename: /home/tawal/.cache/thumbnails/normal/fffe91db735eaac34f4f1a4ab5b5231a.png
  Format: PNG (Portable Network Graphics)
  Mime type: image/png
  Class: DirectClass
  Geometry: 32x32+0+0
  Units: Undefined
  Colorspace: sRGB
  Type: TrueColorAlpha
  Base type: Undefined
  Endianness: Undefined
  Depth: 8-bit
  Channel depth:
    red: 8-bit
    green: 8-bit
    blue: 8-bit
    alpha: 8-bit
  Channel statistics:
    Pixels: 1024
    Red:
      min: 0  (0)
      max: 255 (1)
      mean: 148.072 (0.580676)
      standard deviation: 88.5807 (0.347375)
      kurtosis: -0.826451
      skewness: -0.708277
      entropy: 0.784605
    Green:
      min: 0  (0)
      max: 255 (1)
      mean: 134.063 (0.525739)
      standard deviation: 86.5482 (0.339405)
      kurtosis: -1.01078
      skewness: -0.326129
      entropy: 0.770654
    Blue:
      min: 0  (0)
      max: 255 (1)
      mean: 89.6387 (0.351524)
      standard deviation: 70.9007 (0.278042)
      kurtosis: 0.128006
      skewness: 0.676692
      entropy: 0.776739
    Alpha:
      min: 0  (0)
      max: 255 (1)
      mean: 180.046 (0.706062)
      standard deviation: 107.118 (0.42007)
      kurtosis: -1.06354
      skewness: -0.901295
      entropy: 0.471543
  Image statistics:
    Overall:
      min: 0  (0)
      max: 255 (1)
      mean: 137.955 (0.541)
      standard deviation: 88.2869 (0.346223)
      kurtosis: -1.34943
      skewness: -0.21558
      entropy: 0.700885
  Alpha: none   #00000000
  Colors: 408
  Histogram:
    174: (0,0,0,0) #00000000 none
    20: (0,0,0,44) #0000002C srgba(0,0,0,0.172549)
    20: (0,0,0,14) #0000000E srgba(0,0,0,0.054902)
    4: (0,0,0,1) #00000001 srgba(0,0,0,0.00392157)
    2: (0,0,0,40) #00000028 srgba(0,0,0,0.156863)
    2: (0,0,0,38) #00000026 srgba(0,0,0,0.14902)
    2: (0,0,0,30) #0000001E srgba(0,0,0,0.117647)
    2: (0,0,0,19) #00000013 srgba(0,0,0,0.0745098)
    2: (0,0,0,12) #0000000C srgba(0,0,0,0.0470588)
    2: (0,0,0,8) #00000008 srgba(0,0,0,0.0313725)
    2: (0,0,0,3) #00000003 srgba(0,0,0,0.0117647)
    2: (0,0,0,2) #00000002 srgba(0,0,0,0.00784314)
    2: (91,91,55,14) #5B5B370E srgba(91,91,55,0.054902)
    2: (110,84,53,67) #6E543543 srgba(110,84,53,0.262745)
    1: (116,85,55,209) #745537D1 srgba(116,85,55,0.819608)
    1: (117,84,55,209) #755437D1 srgba(117,84,55,0.819608)
    1: (117,85,57,72) #75553948 srgba(117,85,57,0.282353)
    1: (119,87,56,73) #77573849 srgba(119,87,56,0.286275)
    2: (119,90,60,239) #775A3CEF srgba(119,90,60,0.937255)
    1: (121,90,59,82) #795A3B52 srgba(121,90,59,0.321569)
    1: (122,89,61,92) #7A593D5C srgba(122,89,61,0.360784)
    20: (122,93,64,247) #7A5D40F7 srgba(122,93,64,0.968627)
    6: (122,93,64,246) #7A5D40F6 srgba(122,93,64,0.964706)
    1: (123,89,58,83) #7B593A53 srgba(123,89,58,0.32549)
    2: (123,90,60,220) #7B5A3CDC srgba(123,90,60,0.862745)
    1: (123,90,60,93) #7B5A3C5D srgba(123,90,60,0.364706)
    1: (124,92,59,103) #7C5C3B67 srgba(124,92,59,0.403922)
    1: (125,92,63,114) #7D5C3F72 srgba(125,92,63,0.447059)
    1: (125,93,60,102) #7D5D3C66 srgba(125,93,60,0.4)
    1: (126,93,61,113) #7E5D3D71 srgba(126,93,61,0.443137)
    1: (126,94,64,219) #7E5E40DB srgba(126,94,64,0.858824)
    1: (127,94,63,219) #7F5E3FDB srgba(127,94,63,0.858824)
    1: (128,97,65,126) #8061417E srgba(128,97,65,0.494118)
    1: (129,96,64,127) #8160407F srgba(129,96,64,0.498039)
    1: (129,97,66,140) #8161428C srgba(129,97,66,0.54902)
    1: (130,99,65,141) #8263418D srgba(130,99,65,0.552941)
    1: (130,99,68,219) #826344DB srgba(130,99,68,0.858824)
    1: (130,130,125,47) #82827D2F srgba(130,130,125,0.184314)
    1: (132,99,68,154) #8463449A srgba(132,99,68,0.603922)
    1: (132,100,68,219) #846444DB srgba(132,100,68,0.858824)
    1: (132,141,132,29) #848D841D srgba(132,141,132,0.113725)
    1: (134,101,69,152) #86654598 srgba(134,101,69,0.596078)
    1: (134,103,69,166) #866745A6 srgba(134,103,69,0.65098)
    1: (134,103,70,221) #866746DD srgba(134,103,70,0.866667)
    1: (134,104,70,165) #866846A5 srgba(134,104,70,0.647059)
    1: (135,103,69,221) #876745DD srgba(135,103,69,0.866667)
    1: (135,104,72,177) #876848B1 srgba(135,104,72,0.694118)
    7: (135,137,132,251) #878984FB srgba(135,137,132,0.984314)
    1: (136,104,70,189) #886846BD srgba(136,104,70,0.741176)
    1: (137,104,71,188) #896847BC srgba(137,104,71,0.737255)
    1: (137,139,134,247) #898B86F7 srgba(137,139,134,0.968627)
    1: (138,103,72,178) #8A6748B2 srgba(138,103,72,0.698039)
    1: (138,107,74,225) #8A6B4AE1 srgba(138,107,74,0.882353)
    1: (138,139,134,234) #8A8B86EA srgba(138,139,134,0.917647)
    1: (138,141,136,234) #8A8D88EA srgba(138,141,136,0.917647)
    1: (139,106,73,198) #8B6A49C6 srgba(139,106,73,0.776471)
    1: (139,107,74,207) #8B6B4ACF srgba(139,107,74,0.811765)
    1: (139,108,75,225) #8B6C4BE1 srgba(139,108,75,0.882353)
    1: (140,109,73,198) #8C6D49C6 srgba(140,109,73,0.776471)
    1: (140,141,135,226) #8C8D87E2 srgba(140,141,135,0.886275)
    1: (140,143,138,207) #8C8F8ACF srgba(140,143,138,0.811765)
    1: (141,107,74,215) #8D6B4AD7 srgba(141,107,74,0.843137)
    1: (141,110,79,229) #8D6E4FE5 srgba(141,110,79,0.898039)
    1: (141,142,137,224) #8D8E89E0 srgba(141,142,137,0.878431)
    1: (141,142,139,217) #8D8E8BD9 srgba(141,142,139,0.85098)
    1: (142,110,75,221) #8E6E4BDD srgba(142,110,75,0.866667)
    1: (142,144,140,124) #8E908C7C srgba(142,144,140,0.486275)
    1: (143,109,74,227) #8F6D4AE3 srgba(143,109,74,0.890196)
    1: (143,109,75,230) #8F6D4BE6 srgba(143,109,75,0.901961)
    1: (143,110,79,229) #8F6E4FE5 srgba(143,110,79,0.898039)
    1: (144,112,81,250) #907051FA srgba(144,112,81,0.980392)
    1: (146,112,79,185) #92704FB9 srgba(146,112,79,0.72549)
    1: (146,114,82,230) #927252E6 srgba(146,114,82,0.901961)
    1: (146,114,83,230) #927253E6 srgba(146,114,83,0.901961)
    1: (147,117,72,210) #937548D2 srgba(147,117,72,0.823529)
    1: (147,149,138,236) #93958AEC srgba(147,149,138,0.92549)
    1: (149,118,86,230) #957656E6 srgba(149,118,86,0.901961)
    1: (150,118,86,230) #967656E6 srgba(150,118,86,0.901961)
    2: (151,120,88,245) #977858F5 srgba(151,120,88,0.960784)
    8: (152,121,91,255) #98795BFF srgba(152,121,91,1)
    1: (153,122,91,230) #997A5BE6 srgba(153,122,91,0.901961)
    1: (153,122,92,255) #997A5CFF srgba(153,122,92,1)
    1: (153,123,91,255) #997B5BFF srgba(153,123,91,1)
    1: (154,122,90,230) #9A7A5AE6 srgba(154,122,90,0.901961)
    2: (154,123,92,244) #9A7B5CF4 srgba(154,123,92,0.956863)
    26: (156,126,96,255) #9C7E60FF srgba(156,126,96,1)
    2: (157,125,94,244) #9D7D5EF4 srgba(157,125,94,0.956863)
    2: (157,126,95,230) #9D7E5FE6 srgba(157,126,95,0.901961)
    1: (157,128,70,219) #9D8046DB srgba(157,128,70,0.858824)
    26: (158,129,99,255) #9E8163FF srgba(158,129,99,1)
    2: (160,129,98,243) #A08162F3 srgba(160,129,98,0.952941)
    26: (161,131,101,255) #A18365FF srgba(161,131,101,1)
    2: (162,131,99,230) #A28363E6 srgba(162,131,99,0.901961)
    1: (162,135,70,227) #A28746E3 srgba(162,135,70,0.890196)
    2: (163,132,102,243) #A38466F3 srgba(163,132,102,0.952941)
    26: (163,134,104,255) #A38668FF srgba(163,134,104,1)
    2: (164,134,104,243) #A48668F3 srgba(164,134,104,0.952941)
    1: (165,135,104,230) #A58768E6 srgba(165,135,104,0.901961)
    1: (165,138,68,232) #A58A44E8 srgba(165,138,68,0.909804)
    1: (165,165,109,239) #A5A56DEF srgba(165,165,109,0.937255)
    26: (166,137,108,255) #A6896CFF srgba(166,137,108,1)
    2: (167,136,107,243) #A7886BF3 srgba(167,136,107,0.952941)
    26: (167,139,110,255) #A78B6EFF srgba(167,139,110,1)
    1: (167,140,71,197) #A78C47C5 srgba(167,140,71,0.772549)
    1: (169,139,109,230) #A98B6DE6 srgba(169,139,109,0.901961)
    2: (169,140,110,243) #A98C6EF3 srgba(169,140,110,0.952941)
    21: (170,141,113,255) #AA8D71FF srgba(170,141,113,1)
    1: (171,142,112,255) #AB8E70FF srgba(171,142,112,1)
    3: (171,142,113,255) #AB8E71FF srgba(171,142,113,1)
    1: (171,143,115,244) #AB8F73F4 srgba(171,143,115,0.956863)
    2: (172,143,112,243) #AC8F70F3 srgba(172,143,112,0.952941)
    1: (172,143,112,255) #AC8F70FF srgba(172,143,112,1)
    15: (172,144,116,255) #AC9074FF srgba(172,144,116,1)
    1: (172,145,114,244) #AC9172F4 srgba(172,145,114,0.956863)
    1: (173,143,98,232) #AD8F62E8 srgba(173,143,98,0.909804)
    1: (173,143,114,230) #AD8F72E6 srgba(173,143,114,0.901961)
    2: (173,145,116,255) #AD9174FF srgba(173,145,116,1)
    1: (174,146,118,245) #AE9276F5 srgba(174,146,118,0.960784)
    1: (174,147,114,255) #AE9372FF srgba(174,147,114,1)
    12: (175,147,119,255) #AF9377FF srgba(175,147,119,1)
    1: (175,148,113,255) #AF9471FF srgba(175,148,113,1)
    1: (175,150,80,255) #AF9650FF srgba(175,150,80,1)
    1: (176,148,119,255) #B09477FF srgba(176,148,119,1)
    1: (176,149,121,245) #B09579F5 srgba(176,149,121,0.960784)
    11: (176,149,122,255) #B0957AFF srgba(176,149,122,1)
    2: (177,149,118,255) #B19576FF srgba(177,149,118,1)
    1: (177,150,123,255) #B1967BFF srgba(177,150,123,1)
    1: (178,149,122,246) #B2957AF6 srgba(178,149,122,0.964706)
    1: (178,152,120,255) #B29878FF srgba(178,152,120,1)
    1: (179,147,120,230) #B39378E6 srgba(179,147,120,0.901961)
    10: (179,152,125,255) #B3987DFF srgba(179,152,125,1)
    1: (179,152,125,247) #B3987DF7 srgba(179,152,125,0.968627)
    1: (179,153,109,255) #B3996DFF srgba(179,153,109,1)
    1: (180,153,126,255) #B4997EFF srgba(180,153,126,1)
    1: (180,154,124,255) #B49A7CFF srgba(180,154,124,1)
    1: (180,156,108,255) #B49C6CFF srgba(180,156,108,1)
    1: (181,154,129,248) #B59A81F8 srgba(181,154,129,0.972549)
    10: (181,155,128,255) #B59B80FF srgba(181,155,128,1)
    1: (182,154,125,230) #B69A7DE6 srgba(182,154,125,0.901961)
    1: (182,156,129,255) #B69C81FF srgba(182,156,129,1)
    1: (182,157,112,255) #B69D70FF srgba(182,157,112,1)
    1: (182,157,130,249) #B69D82F9 srgba(182,157,130,0.976471)
    1: (183,183,95,242) #B7B75FF2 srgba(183,183,95,0.94902)
    9: (184,156,130,255) #B89C82FF srgba(184,156,130,1)
    1: (185,157,131,255) #B99D83FF srgba(185,157,131,1)
    9: (185,159,133,255) #B99F85FF srgba(185,159,133,1)
    1: (185,161,108,255) #B9A16CFF srgba(185,161,108,1)
    1: (185,162,106,247) #B9A26AF7 srgba(185,162,106,0.968627)
    1: (185,163,62,239) #B9A33EEF srgba(185,163,62,0.937255)
    1: (186,160,134,255) #BAA086FF srgba(186,160,134,1)
    1: (186,162,102,255) #BAA266FF srgba(186,162,102,1)
    1: (187,160,126,255) #BBA07EFF srgba(187,160,126,1)
    1: (187,165,101,255) #BBA565FF srgba(187,165,101,1)
    1: (188,162,136,255) #BCA288FF srgba(188,162,136,1)
    8: (188,162,137,255) #BCA289FF srgba(188,162,137,1)
    1: (188,164,93,236) #BCA45DEC srgba(188,164,93,0.92549)
    1: (188,165,110,255) #BCA56EFF srgba(188,165,110,1)
    1: (189,163,138,255) #BDA38AFF srgba(189,163,138,1)
    1: (189,168,106,255) #BDA86AFF srgba(189,168,106,1)
    8: (190,165,139,255) #BEA58BFF srgba(190,165,139,1)
    1: (190,167,99,255) #BEA763FF srgba(190,167,99,1)
    1: (190,168,99,255) #BEA863FF srgba(190,168,99,1)
    1: (190,168,116,255) #BEA874FF srgba(190,168,116,1)
    1: (191,166,138,255) #BFA68AFF srgba(191,166,138,1)
    1: (191,166,140,255) #BFA68CFF srgba(191,166,140,1)
    1: (191,168,98,255) #BFA862FF srgba(191,168,98,1)
    1: (191,172,70,255) #BFAC46FF srgba(191,172,70,1)
    1: (191,190,91,236) #BFBE5BEC srgba(191,190,91,0.92549)
    1: (192,169,123,255) #C0A97BFF srgba(192,169,123,1)
    1: (192,171,101,255) #C0AB65FF srgba(192,171,101,1)
    1: (193,167,138,232) #C1A78AE8 srgba(193,167,138,0.909804)
    1: (193,168,143,251) #C1A88FFB srgba(193,168,143,0.984314)
    1: (193,170,108,255) #C1AA6CFF srgba(193,170,108,1)
    1: (193,173,99,255) #C1AD63FF srgba(193,173,99,1)
    1: (196,178,98,248) #C4B262F8 srgba(196,178,98,0.972549)
    1: (197,176,91,237) #C5B05BED srgba(197,176,91,0.929412)
    1: (197,177,98,255) #C5B162FF srgba(197,177,98,1)
    1: (198,178,95,255) #C6B25FFF srgba(198,178,95,1)
    1: (198,198,81,166) #C6C651A6 srgba(198,198,81,0.65098)
    1: (198,198,84,242) #C6C654F2 srgba(198,198,84,0.94902)
    1: (199,179,94,255) #C7B35EFF srgba(199,179,94,1)
    1: (199,180,96,255) #C7B460FF srgba(199,180,96,1)
    1: (199,199,85,237) #C7C755ED srgba(199,199,85,0.929412)
    1: (201,179,107,255) #C9B36BFF srgba(201,179,107,1)
    1: (201,179,119,255) #C9B377FF srgba(201,179,119,1)
    1: (201,182,99,255) #C9B663FF srgba(201,182,99,1)
    1: (201,183,91,255) #C9B75BFF srgba(201,183,91,1)
    1: (201,185,59,253) #C9B93BFD srgba(201,185,59,0.992157)
    1: (201,201,80,245) #C9C950F5 srgba(201,201,80,0.960784)
    1: (202,178,155,255) #CAB29BFF srgba(202,178,155,1)
    1: (202,184,89,255) #CAB859FF srgba(202,184,89,1)
    1: (202,184,96,255) #CAB860FF srgba(202,184,96,1)
    1: (202,184,100,255) #CAB864FF srgba(202,184,100,1)
    1: (203,182,90,239) #CBB65AEF srgba(203,182,90,0.937255)
    1: (204,180,157,255) #CCB49DFF srgba(204,180,157,1)
    1: (204,184,116,255) #CCB874FF srgba(204,184,116,1)
    1: (204,187,88,255) #CCBB58FF srgba(204,187,88,1)
    1: (204,187,90,255) #CCBB5AFF srgba(204,187,90,1)
    1: (204,188,87,255) #CCBC57FF srgba(204,188,87,1)
    1: (205,183,160,255) #CDB7A0FF srgba(205,183,160,1)
    1: (205,187,91,250) #CDBB5BFA srgba(205,187,91,0.980392)
    1: (205,188,103,255) #CDBC67FF srgba(205,188,103,1)
    1: (206,184,162,255) #CEB8A2FF srgba(206,184,162,1)
    1: (206,189,87,255) #CEBD57FF srgba(206,189,87,1)
    1: (206,189,89,255) #CEBD59FF srgba(206,189,89,1)
    1: (207,190,92,240) #CFBE5CF0 srgba(207,190,92,0.941176)
    1: (208,194,61,255) #D0C23DFF srgba(208,194,61,1)
    1: (209,187,166,255) #D1BBA6FF srgba(209,187,166,1)
    1: (209,193,88,255) #D1C158FF srgba(209,193,88,1)
    1: (209,195,91,255) #D1C35BFF srgba(209,195,91,1)
    1: (210,190,169,255) #D2BEA9FF srgba(210,190,169,1)
    1: (210,193,93,255) #D2C15DFF srgba(210,193,93,1)
    1: (210,195,83,255) #D2C353FF srgba(210,195,83,1)
    1: (210,195,85,251) #D2C355FB srgba(210,195,85,0.984314)
    1: (211,192,172,255) #D3C0ACFF srgba(211,192,172,1)
    1: (211,194,100,255) #D3C264FF srgba(211,194,100,1)
    1: (211,196,86,255) #D3C456FF srgba(211,196,86,1)
    1: (211,197,82,255) #D3C552FF srgba(211,197,82,1)
    1: (212,194,176,255) #D4C2B0FF srgba(212,194,176,1)
    1: (212,197,87,255) #D4C557FF srgba(212,197,87,1)
    1: (212,212,70,248) #D4D446F8 srgba(212,212,70,0.972549)
    1: (213,198,98,255) #D5C662FF srgba(213,198,98,1)
    1: (214,197,179,255) #D6C5B3FF srgba(214,197,179,1)
    1: (214,201,78,255) #D6C94EFF srgba(214,201,78,1)
    1: (214,215,211,252) #D6D7D3FC srgba(214,215,211,0.988235)
    1: (215,202,77,255) #D7CA4DFF srgba(215,202,77,1)
    1: (215,215,67,249) #D7D743F9 srgba(215,215,67,0.976471)
    1: (216,202,83,252) #D8CA53FC srgba(216,202,83,0.988235)
    1: (216,202,87,255) #D8CA57FF srgba(216,202,87,1)
    1: (216,203,79,255) #D8CB4FFF srgba(216,203,79,1)
    1: (217,200,179,255) #D9C8B3FF srgba(217,200,179,1)
    1: (217,205,74,255) #D9CD4AFF srgba(217,205,74,1)
    1: (217,205,77,255) #D9CD4DFF srgba(217,205,77,1)
    1: (218,202,106,242) #DACA6AF2 srgba(218,202,106,0.94902)
    1: (218,204,82,255) #DACC52FF srgba(218,204,82,1)
    1: (218,206,73,255) #DACE49FF srgba(218,206,73,1)
    1: (218,206,74,255) #DACE4AFF srgba(218,206,74,1)
    1: (218,206,79,255) #DACE4FFF srgba(218,206,79,1)
    1: (218,206,80,252) #DACE50FC srgba(218,206,80,0.988235)
    1: (220,207,79,255) #DCCF4FFF srgba(220,207,79,1)
    1: (220,208,83,255) #DCD053FF srgba(220,208,83,1)
    1: (220,209,76,255) #DCD14CFF srgba(220,209,76,1)
    1: (223,211,71,255) #DFD347FF srgba(223,211,71,1)
    1: (223,213,75,255) #DFD54BFF srgba(223,213,75,1)
    1: (224,213,69,255) #E0D545FF srgba(224,213,69,1)
    1: (224,213,81,255) #E0D551FF srgba(224,213,81,1)
    1: (225,212,150,255) #E1D496FF srgba(225,212,150,1)
    1: (225,215,89,253) #E1D759FD srgba(225,215,89,0.992157)
    1: (225,216,71,255) #E1D847FF srgba(225,216,71,1)
    9: (226,221,213,255) #E2DDD5FF srgba(226,221,213,1)
    1: (227,217,68,255) #E3D944FF srgba(227,217,68,1)
    1: (227,218,64,255) #E3DA40FF srgba(227,218,64,1)
    1: (227,225,57,251) #E3E139FB srgba(227,225,57,0.984314)
    1: (227,227,225,254) #E3E3E1FE srgba(227,227,225,0.996078)
    1: (228,220,63,255) #E4DC3FFF srgba(228,220,63,1)
    1: (229,219,70,255) #E5DB46FF srgba(229,219,70,1)
    1: (229,220,65,255) #E5DC41FF srgba(229,220,65,1)
    1: (229,228,55,252) #E5E437FC srgba(229,228,55,0.988235)
    1: (230,225,180,255) #E6E1B4FF srgba(230,225,180,1)
    1: (231,221,126,255) #E7DD7EFF srgba(231,221,126,1)
    1: (231,222,66,255) #E7DE42FF srgba(231,222,66,1)
    1: (231,223,60,255) #E7DF3CFF srgba(231,223,60,1)
    1: (231,224,59,255) #E7E03BFF srgba(231,224,59,1)
    1: (232,223,67,255) #E8DF43FF srgba(232,223,67,1)
    1: (232,225,58,255) #E8E13AFF srgba(232,225,58,1)
    1: (232,226,121,255) #E8E279FF srgba(232,226,121,1)
    1: (233,226,103,255) #E9E267FF srgba(233,226,103,1)
    1: (233,227,60,255) #E9E33CFF srgba(233,227,60,1)
    1: (233,227,62,255) #E9E33EFF srgba(233,227,62,1)
    1: (233,228,221,255) #E9E4DDFF srgba(233,228,221,1)
    1: (233,230,148,255) #E9E694FF srgba(233,230,148,1)
    1: (235,229,100,255) #EBE564FF srgba(235,229,100,1)
    1: (235,230,55,255) #EBE637FF srgba(235,230,55,1)
    1: (235,235,39,13) #EBEB270D srgba(235,235,39,0.0509804)
    1: (236,229,71,255) #ECE547FF srgba(236,229,71,1)
    1: (237,233,118,255) #EDE976FF srgba(237,233,118,1)
    1: (238,233,53,255) #EEE935FF srgba(238,233,53,1)
    1: (238,233,137,255) #EEE989FF srgba(238,233,137,1)
    1: (238,236,46,254) #EEEC2EFE srgba(238,236,46,0.996078)
    1: (238,238,43,30) #EEEE2B1E srgba(238,238,43,0.117647)
    14: (238,238,236,255) #EEEEECFF srgba(238,238,236,1)
    1: (239,239,237,255) #EFEFEDFF srgba(239,239,237,1)
    1: (240,235,158,255) #F0EB9EFF srgba(240,235,158,1)
    1: (240,236,48,255) #F0EC30FF srgba(240,236,48,1)
    1: (240,237,72,255) #F0ED48FF srgba(240,237,72,1)
    1: (240,240,45,17) #F0F02D11 srgba(240,240,45,0.0666667)
    1: (241,237,47,255) #F1ED2FFF srgba(241,237,47,1)
    1: (241,240,44,254) #F1F02CFE srgba(241,240,44,0.996078)
    1: (241,241,45,74) #F1F12D4A srgba(241,241,45,0.290196)
    1: (241,241,240,255) #F1F1F0FF srgba(241,241,240,1)
    1: (242,242,43,60) #F2F22B3C srgba(242,242,43,0.235294)
    1: (243,238,46,44) #F3EE2E2C srgba(243,238,46,0.172549)
    1: (243,239,118,255) #F3EF76FF srgba(243,239,118,1)
    1: (243,240,47,255) #F3F02FFF srgba(243,240,47,1)
    1: (243,240,49,255) #F3F031FF srgba(243,240,49,1)
    1: (243,241,43,255) #F3F12BFF srgba(243,241,43,1)
    1: (243,241,43,88) #F3F12B58 srgba(243,241,43,0.345098)
    1: (243,243,43,84) #F3F32B54 srgba(243,243,43,0.329412)
    1: (244,240,142,255) #F4F08EFF srgba(244,240,142,1)
    1: (244,241,42,255) #F4F12AFF srgba(244,241,42,1)
    2: (244,242,43,142) #F4F22B8E srgba(244,242,43,0.556863)
    1: (244,242,43,96) #F4F22B60 srgba(244,242,43,0.376471)
    1: (244,242,44,116) #F4F22C74 srgba(244,242,44,0.454902)
    1: (244,242,116,255) #F4F274FF srgba(244,242,116,1)
    1: (244,243,42,145) #F4F32A91 srgba(244,243,42,0.568627)
    1: (244,243,43,144) #F4F32B90 srgba(244,243,43,0.564706)
    1: (244,243,57,194) #F4F339C2 srgba(244,243,57,0.760784)
    1: (244,243,136,255) #F4F388FF srgba(244,243,136,1)
    1: (244,244,43,47) #F4F42B2F srgba(244,244,43,0.184314)
    1: (244,244,43,24) #F4F42B18 srgba(244,244,43,0.0941176)
    1: (244,244,44,117) #F4F42C75 srgba(244,244,44,0.458824)
    1: (244,244,44,70) #F4F42C46 srgba(244,244,44,0.27451)
    1: (244,244,45,91) #F4F42D5B srgba(244,244,45,0.356863)
    1: (244,244,242,255) #F4F4F2FF srgba(244,244,242,1)
    1: (245,240,44,52) #F5F02C34 srgba(245,240,44,0.203922)
    1: (245,241,43,150) #F5F12B96 srgba(245,241,43,0.588235)
    1: (245,241,45,74) #F5F12D4A srgba(245,241,45,0.290196)
    1: (245,242,41,180) #F5F229B4 srgba(245,242,41,0.705882)
    1: (245,242,42,178) #F5F22AB2 srgba(245,242,42,0.698039)
    1: (245,242,43,101) #F5F22B65 srgba(245,242,43,0.396078)
    1: (245,242,43,78) #F5F22B4E srgba(245,242,43,0.305882)
    1: (245,242,43,77) #F5F22B4D srgba(245,242,43,0.301961)
    1: (245,242,44,99) #F5F22C63 srgba(245,242,44,0.388235)
    1: (245,242,44,76) #F5F22C4C srgba(245,242,44,0.298039)
    1: (245,242,45,79) #F5F22D4F srgba(245,242,45,0.309804)
    1: (245,242,126,255) #F5F27EFF srgba(245,242,126,1)
    1: (245,243,41,206) #F5F329CE srgba(245,243,41,0.807843)
    1: (245,243,41,173) #F5F329AD srgba(245,243,41,0.678431)
    1: (245,243,42,133) #F5F32A85 srgba(245,243,42,0.521569)
    2: (245,243,43,107) #F5F32B6B srgba(245,243,43,0.419608)
    1: (245,243,43,148) #F5F32B94 srgba(245,243,43,0.580392)
    1: (245,243,54,255) #F5F336FF srgba(245,243,54,1)
    1: (245,243,67,255) #F5F343FF srgba(245,243,67,1)
    1: (245,243,85,255) #F5F355FF srgba(245,243,85,1)
    1: (245,244,41,225) #F5F429E1 srgba(245,244,41,0.882353)
    1: (245,244,41,200) #F5F429C8 srgba(245,244,41,0.784314)
    1: (245,244,42,181) #F5F42AB5 srgba(245,244,42,0.709804)
    1: (245,244,42,159) #F5F42A9F srgba(245,244,42,0.623529)
    1: (245,244,47,255) #F5F42FFF srgba(245,244,47,1)
    1: (245,244,111,255) #F5F46FFF srgba(245,244,111,1)
    1: (245,245,40,51) #F5F52833 srgba(245,245,40,0.2)
    1: (245,245,43,101) #F5F52B65 srgba(245,245,43,0.396078)
    1: (245,245,43,53) #F5F52B35 srgba(245,245,43,0.207843)
    1: (245,245,244,255) #F5F5F4FF srgba(245,245,244,1)
    1: (246,243,40,221) #F6F328DD srgba(246,243,40,0.866667)
    1: (246,243,42,164) #F6F32AA4 srgba(246,243,42,0.643137)
    1: (246,243,43,88) #F6F32B58 srgba(246,243,43,0.345098)
    1: (246,243,48,193) #F6F330C1 srgba(246,243,48,0.756863)
    1: (246,243,102,255) #F6F366FF srgba(246,243,102,1)
    1: (246,244,43,136) #F6F42B88 srgba(246,244,43,0.533333)
    1: (246,244,43,135) #F6F42B87 srgba(246,244,43,0.529412)
    1: (246,244,43,114) #F6F42B72 srgba(246,244,43,0.447059)
    1: (246,244,70,255) #F6F446FF srgba(246,244,70,1)
    1: (246,244,77,255) #F6F44DFF srgba(246,244,77,1)
    1: (246,244,78,255) #F6F44EFF srgba(246,244,78,1)
    1: (246,244,81,255) #F6F451FF srgba(246,244,81,1)
    1: (246,244,136,255) #F6F488FF srgba(246,244,136,1)
    1: (246,245,86,255) #F6F556FF srgba(246,245,86,1)
    1: (246,245,144,255) #F6F590FF srgba(246,245,144,1)
    1: (246,245,154,255) #F6F59AFF srgba(246,245,154,1)
    1: (246,246,44,29) #F6F62C1D srgba(246,246,44,0.113725)
    1: (246,246,179,255) #F6F6B3FF srgba(246,246,179,1)
    1: (246,246,225,255) #F6F6E1FF srgba(246,246,225,1)
    1: (246,246,245,255) #F6F6F5FF srgba(246,246,245,1)
    1: (247,238,43,30) #F7EE2B1E srgba(247,238,43,0.117647)
    1: (247,244,42,121) #F7F42A79 srgba(247,244,42,0.47451)
    1: (247,244,45,97) #F7F42D61 srgba(247,244,45,0.380392)
    1: (247,245,87,255) #F7F557FF srgba(247,245,87,1)
    1: (247,246,107,255) #F7F66BFF srgba(247,246,107,1)
    1: (247,246,127,255) #F7F67FFF srgba(247,246,127,1)
    1: (247,247,43,30) #F7F72B1E srgba(247,247,43,0.117647)
    1: (247,247,49,31) #F7F7311F srgba(247,247,49,0.121569)
    1: (247,247,96,255) #F7F760FF srgba(247,247,96,1)
    1: (247,247,246,255) #F7F7F6FF srgba(247,247,246,1)
    1: (247,247,247,255) #F7F7F7FF grey97
    1: (248,244,44,70) #F8F42C46 srgba(248,244,44,0.27451)
    6: (248,248,247,255) #F8F8F7FF srgba(248,248,247,1)
    1: (249,243,49,42) #F9F3312A srgba(249,243,49,0.164706)
    1: (249,248,151,255) #F9F897FF srgba(249,248,151,1)
    1: (249,249,45,45) #F9F92D2D srgba(249,249,45,0.176471)
    1: (250,248,136,245) #FAF888F5 srgba(250,248,136,0.960784)
    1: (250,249,156,255) #FAF99CFF srgba(250,249,156,1)
    1: (250,249,158,246) #FAF99EF6 srgba(250,249,158,0.964706)
    1: (251,251,224,255) #FBFBE0FF srgba(251,251,224,1)
    1: (252,251,179,229) #FCFBB3E5 srgba(252,251,179,0.898039)
    1: (252,251,191,255) #FCFBBFFF srgba(252,251,191,1)
    1: (252,251,203,255) #FCFBCBFF srgba(252,251,203,1)
    1: (252,251,210,255) #FCFBD2FF srgba(252,251,210,1)
    1: (252,252,201,255) #FCFCC9FF srgba(252,252,201,1)
    1: (253,252,208,255) #FDFCD0FF srgba(253,252,208,1)
    1: (253,252,231,255) #FDFCE7FF srgba(253,252,231,1)
    1: (254,253,229,255) #FEFDE5FF srgba(254,253,229,1)
    1: (254,254,236,255) #FEFEECFF srgba(254,254,236,1)
    1: (254,254,237,255) #FEFEEDFF srgba(254,254,237,1)
    1: (254,254,238,255) #FEFEEEFF srgba(254,254,238,1)
    1: (254,254,240,255) #FEFEF0FF srgba(254,254,240,1)
    1: (255,238,51,15) #FFEE330F srgba(255,238,51,0.0588235)
    1: (255,248,44,35) #FFF82C23 srgba(255,248,44,0.137255)
    1: (255,254,248,255) #FFFEF8FF srgba(255,254,248,1)
    3: (255,255,0,2) #FFFF0002 srgba(255,255,0,0.00784314)
    2: (255,255,51,5) #FFFF3305 srgba(255,255,51,0.0196078)
    1: (255,255,55,14) #FFFF370E srgba(255,255,55,0.054902)
    1: (255,255,59,13) #FFFF3B0D srgba(255,255,59,0.0509804)
    2: (255,255,85,3) #FFFF5503 srgba(255,255,85,0.0117647)
    1: (255,255,250,255) #FFFFFAFF srgba(255,255,250,1)
    1: (255,255,251,255) #FFFFFBFF srgba(255,255,251,1)
    2: (255,255,253,255) #FFFFFDFF srgba(255,255,253,1)
    53: (255,255,255,255) #FFFFFFFF white
  Rendering intent: Perceptual
  Gamma: 0.454545
  Chromaticity:
    red primary: (0.64,0.33)
    green primary: (0.3,0.6)
    blue primary: (0.15,0.06)
    white point: (0.3127,0.329)
  Background color: white
  Border color: srgba(223,223,223,1)
  Matte color: grey74
  Transparent color: none
  Interlace: None
  Intensity: Undefined
  Compose: Over
  Page geometry: 32x32+0+0
  Dispose: Undefined
  Iterations: 0
  Compression: Zip
  Orientation: Undefined
  Properties:
    date:create: 2022-06-20T08:15:22+00:00
    date:modify: 2022-06-20T08:15:22+00:00
    png:IHDR.bit-depth-orig: 8
    png:IHDR.bit_depth: 8
    png:IHDR.color-type-orig: 6
    png:IHDR.color_type: 6 (RGBA)
    png:IHDR.interlace_method: 0 (Not interlaced)
    png:IHDR.width,height: 32, 32
    png:sRGB: intent=0 (Perceptual Intent)
    png:text: 2 tEXt/zTXt/iTXt chunks were found
    signature: 70b6b8c11e5b83cb216a1f30a5b52f892f5454000d980374e187f75c60e939bf
    Thumb::MTime: 1592481052
    Thumb::URI: file:///usr/share/icons/gnome-dust/32x32/actions/folder_new.png
  Artifacts:
    filename: /home/tawal/.cache/thumbnails/normal/fffe91db735eaac34f4f1a4ab5b5231a.png
    verbose: true
  Tainted: False
  Filesize: 1621B
  Number pixels: 1024
  Pixels per second: 647864B
  User time: 0.000u
  Elapsed time: 0:01.001
  Version: ImageMagick 6.9.11-60 Q16 x86_64 2021-01-25 https://imagemagick.org

Peut-être peux-tu te débrouiller avec cela.

Edit:
Correction orthographique (faute de frappe).

Edit2:
Je ne doute pas que tu sauras traiter ce genre de retour smile

Dernière modification par Tawal (Le 10/08/2022, à 23:28)


Le savoir n'a d’intérêt que si on le transmet.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !

Hors ligne

#13 Le 11/08/2022, à 01:02

visual1956

Re : affichage caractère spéciaux dans echo ou cat

bonsoir
comme indiqué dans le post spécifique à mon projet l'objectif est d'extraire les métadonnées longitude et latitude des photos qui peuvent être des NEF ou JPG (j'ai 2   Nikon)
en comparant ces données à des encadrements de longitudes et latitudes par pays je vais générer une étiquette qui indiquera le pays
pour extraire les données j'utilise EXIV2

Hors ligne

#14 Le 11/08/2022, à 02:13

Watael

Re : affichage caractère spéciaux dans echo ou cat

tu te fais des nœuds au cerveau.

on reprend :
tu cherches les fichiers images NEF ou JPG :

find "$repSrc" -type f \( -name '*.JPG' -o -name '*.NEF' \)

tu veux récupérer les longitudes et latitudes :
ici, plusieurs solutions :
- utiliser la commande -exec de find :

find "$repSrc" -type f \( -name '*.JPG' -o -name '*.NEF' \) -exec /bin/bash -c 'read d1 d2 d3 dn < <(exiv2 -K Clé.Longitude.Latitude "$1"; : traitement des données "$d1" "$d2" "$d3" $dn"' /bin/bash {} \;

mais ça fait des lignes à rallonge , et ce n'est pas facilement lisible.
- piper la sortie de find à une boucle :

find "$repSrc" -type f \( -name '*.JPG' -o -name '*.NEF' \) -print0 \
 | while read -d '' img #-d '' pour lire des enregistrement séparés par un caractère NULL (-print0)
   do
      read d1 d2 d3 dn < <(exi2 -K Clé.Longitude.Latitude "$pmg") #le format du read, et le nombre de variables dépend du format de la sortie de la commande exiv2
      : traitement des données "$d1" "$d2" "$d3" "$dn"
   done

- utiliser une Substitution de processus :

while read -d '' img #-d '' pour lire des enregistrement séparés par un caractère NULL (-print0)
   do
      read d1 d2 d3 dn < <(exi2 -K Clé.Longitude.Latitude "$pmg") #le format du read, et le nombre de variables dépend du format de la sortie de la commande exiv2
      : traitement des données "$d1" "$d2" "$d3" "$dn"
   done < <(find "$repSrc" -type f \( -name '*.JPG' -o -name '*.NEF' \) -print0)

tu noteras que je ne propose pas l'emploi de fichiers temporaires; c'est une perte de temps pour la machine et pour le programmeur.


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#15 Le 12/08/2022, à 07:36

visual1956

Re : affichage caractère spéciaux dans echo ou cat

merci pour ton aide
en tant que débutant j'avance pas à pas . je vais analyser ta solution pour l'assimiler car in fine mon objectif est de comprendre le contenu de mon programme
j'envisage d'ouvrir un fil spécifique aux questions que je vais me poser au fur et à mesure de l'avance de l'assimilation des commandes et de la syntaxe bas h ;
Qu'en penses tu ?
j

Hors ligne

#16 Le 18/08/2022, à 18:36

erresse

Re : affichage caractère spéciaux dans echo ou cat

@pingouinux,Watael,Tawal :
Je viens de rentrer de quelques jours de vacances hors de chez moi et je découvre vos contributions dont je vous remercie grandement.
À la proposition de pingouinux de lire le fichier via une routine en python, je ne pense pas que cela soit applicable dans le travail que j'ai entrepris, mais je note la possibilité (simple, au fond) qui pourrait me servir à une autre occasion. Merci.
À Watael qui me demande à quoi pourrait me servir une lecture "brute" du fichier, je détaille : j'ai entrepris de me créer un petit script pour remplacer "ThCleaner.py" que j'utilisais avant, mais qui est devenu obsolète à présent.
Comme je n'ambitionnais pas de recréer un utilitaire aussi complet, je me suis dit que quelques lignes de bash feraient l'affaire, il me faut juste récupérer dans le thumbnail l'URI de l'objet qu'il représente afin de vérifier que cet objet est toujours présent et à la même place dans l'arborescence.
Seulement, lorsque je veux lire ce fichier thumbnail, comme il contient des valeurs de position ou de taille exprimées en binaire sur un ou deux octets, ça génère des pseudo-caractères à zéro binaire entre autres, ce qui bloque la lecture.
Je recherchais donc un moyen simple de faire une lecture "brute" du fichier, sans rien interpréter, pour pouvoir y retrouver les données aux bons endroits et de la bonne taille. Il semble malheureusement qu'en bash, ce ne soit pas possible...
À Tawal enfin, pour sa suggestion d'utiliser ImageMagick. Effectivement, avec l'option "verbose" on peut retrouver l'indication que je cherche, ici :

    Thumb::URI: file:///usr/share/icons/gnome-dust/32x32/actions/folder_new.png

Mais encore faut-il se débrouiller pour la récupérer parmi la flopée d'informations qui sont alors renvoyées...
Y a-t-il une option permettant de cibler une métadonnée particulière dans une requête à ImageMagick ?

En tout cas, merci à tous de vous être penchés sur mon petit problème. Pour le moment, j'ai simplement choisi de récupérer le contenu du fichier thumbnail via une commande "cat" qui me renvoie la totalité des caractères lus exception faite des caractères "nul" qui sont ignorés. Cela décale tout le contenu, mais ça me permet de retrouver l'URI que je cherche, sauf que j'ai des doutes sur la fiabilité de la méthode dans tous les cas de figures... roll
J'avais bien envisagé l'option "-v" de cat, mais je n'ai pas trop compris comment interpréter les fameuses notations :

  -v, --show-nonprinting   utiliser les notations ^ et M-, sauf pour LFD et TAB

C'est peut-être une solution plus saine, si on sait comment lire le résultat obtenu.


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#17 Le 18/08/2022, à 19:09

Tawal

Re : affichage caractère spéciaux dans echo ou cat

Selon l'information exacte que tu recherches, je propose ceci :

$ identify -verbose ~/.cache/thumbnails/normal/fffe91db735eaac34f4f1a4ab5b5231a.png | grep "Thumb::URI"
    Thumb::URI: file:///usr/share/icons/gnome-dust/32x32/actions/folder_new.png
$ 
$ identify -verbose ~/.cache/thumbnails/normal/fffe91db735eaac34f4f1a4ab5b5231a.png | awk '/Thumb::URI/{print $2}'
file:///usr/share/icons/gnome-dust/32x32/actions/folder_new.png
$ 
$ identify -verbose ~/.cache/thumbnails/normal/fffe91db735eaac34f4f1a4ab5b5231a.png | awk '/Thumb::URI/{print substr($2,8)}'
/usr/share/icons/gnome-dust/32x32/actions/folder_new.png
$ 

Pas trouvé de ciblage d'information dans imagemagick sad

Edit:
Je pense aussi que la solution avec cat -v est plus saine, mais je ne sais pas non plus interpréter ces caractères.
Peut-être que Watael saura t'éclairer ...

Dernière modification par Tawal (Le 18/08/2022, à 19:26)


Le savoir n'a d’intérêt que si on le transmet.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !

Hors ligne

#18 Le 19/08/2022, à 16:54

erresse

Re : affichage caractère spéciaux dans echo ou cat

@Tawal: Déjà, merci de tes commandes qui peuvent être très facilement intégrées dans un script shell, je vais probablement utiliser ça si je ne parviens pas à trouver un utilitaire permettant l'extraction directe d'une valeur via un mot-clé dans les métadonnées d'une image png.
Avec une application de gestion des photos (PhotoMe installée via PlayOnLinux), on peut voir cette information figurant dans les commentaires de l'image. Il est donc possible de l'extraire et, en toute logique, il doit exister un logiciel Linux qui peut le faire ! Reste à trouver lequel, j'en ai déjà testé quelques-uns mais jusqu'ici sans résultat, mais je persiste...
Apparemment, ni exiv2 ni jhead ne le permettent, pas plus que Identify (sauf -verbose...), une autre idée ?

Edit: Hé bien oui !!!
C'est finalement "exiftool" qui sait faire le boulot, on peut extraire individuellement chaque tag. J'ai donc fait ceci :

exiftool -thumburi 01f12816450bfc55eb6eb6639ce763ee.png | awk '{print substr($4,8)}'
/home/user/Grisbi/Relev%C3%A9s%20BP/Extrait%20de%20compte%20-%20xxxxxxxxxxx%20-%2020220615.pdf

... à convertir avec la fonction :

# Fonction de décodage de l'URL
function urldecode() { : "${*//+/ }"; echo -e "${_//%/\\x}"; }
pour obenir :
/home/user/Grisbi/Relevés BP/Extrait de compte - xxxxxxxxxxx - 20220615.pdf

CQFD

Dernière modification par erresse (Le 20/08/2022, à 19:17)


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne