Bonjour,

je suis en train d'essayer de parser ce genre d'information, extraite d'un fichier truetype :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
NAME table (at 392)
	format=0
	nrecords=21
	taboff=258
	 platform=0 plat spec encoding=0 language=0 name=0 Copyright
	 strlen=120  stroff=60	   ^@�^@ ^@2^@0^@0^@0^@ ^@J^@e^@f^@f^@ ^@L^@e^@e^@ ^@<^@h^@t^@t^@p^@:^@/^@/^@w^@w^@w^@.^@g^@a^@t^@e^@.^@n^@e^@t^@/^@~^@s^@h^@i^@p^@b^@r^@k^@/^@t^@y^@p^@o^@g^@r^@a^@f^@.^@h^@t^@m^@l^@>
	 platform=0 plat spec encoding=0 language=0 name=1 Family
	 strlen=22  stroff=191	   ^@J^@S^@L^@ ^@A^@n^@c^@i^@e^@n^@t
	 platform=0 plat spec encoding=0 language=0 name=2 Subfamily
	 strlen=12  stroff=219	   ^@I^@t^@a^@l^@i^@c
	 platform=0 plat spec encoding=0 language=0 name=3 UniqueID
	 strlen=46  stroff=254	   ^@A^@l^@t^@s^@:^@J^@S^@L^@ ^@A^@n^@c^@i^@e^@n^@t^@ ^@I^@t^@a^@l^@i^@c
	 platform=0 plat spec encoding=0 language=0 name=4 FullName
	 strlen=36  stroff=318	   ^@J^@S^@L^@ ^@A^@n^@c^@i^@e^@n^@t^@ ^@I^@t^@a^@l^@i^@c
	 platform=0 plat spec encoding=0 language=0 name=5 Version
	 strlen=56  stroff=382	   ^@3^@.^@0^@ ^@M^@o^@n^@d^@a^@y^@,^@ ^@1^@1^@ ^@D^@e^@c^@e^@m^@b^@e^@r^@ ^@2^@0^@0^@0
	 platform=0 plat spec encoding=0 language=0 name=6 Postscript
	 strlen=34  stroff=455	   ^@J^@S^@L^@-^@A^@n^@c^@i^@e^@n^@t^@I^@t^@a^@l^@i^@c
	 platform=1 plat spec encoding=0 language=0 name=0 Copyright
	 strlen=60  stroff=02000 Jeff Lee <http://www.gate.net/~shipbrk/typograf.html>
	 platform=1 plat spec encoding=0 language=0 name=1 Family
	 strlen=11  stroff=180	   JSL Ancient
	 platform=1 plat spec encoding=0 language=0 name=2 Subfamily
	 strlen=6  stroff=213	   Italic
	 platform=1 plat spec encoding=0 language=0 name=3 UniqueID
	 strlen=23  stroff=231	   Alts:JSL Ancient Italic
	 platform=1 plat spec encoding=0 language=0 name=4 FullName
	 strlen=18  stroff=300	   JSL Ancient Italic
	 platform=1 plat spec encoding=0 language=0 name=5 Version
	 strlen=28  stroff=354	   3.0 Monday, 11 December 2000
	 platform=1 plat spec encoding=0 language=0 name=6 Postscript
	 strlen=17  stroff=438	   JSL-AncientItalic
	 platform=3 plat spec encoding=0 language=409 name=0 Copyright
         ...
et avec mes petits neurones épuisés par cette chaleur de fou, j'arrive à ça
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
	 strlen=11  stroff=180	   JSL Ancient
	 strlen=6  stroff=213	   Italic
	 strlen=23  stroff=231	   Alts:JSL Ancient Italic
	 strlen=18  stroff=300	   JSL Ancient Italic
	 strlen=28  stroff=354	   3.0 Monday, 11 December 2000
	 strlen=17  stroff=438	   JSL-AncientItalic
en utilisant cat texte | grep -v Copyright | grep platform=1 -A 1 | grep -v Version -A 1 | grep strlen et comme on peut le voir, il reste une ligne (l'avant-dernière) avec une date qui ne m'intéresse pas et pas moyen de l'enlever,

le grep -v Version enlève bien la ligne Version mais -A 1 ne doit pas être la bonne formule magique pour ôter la ligne suivante...

Note : la première entrée platform=1 incorpore un point d'interrogation en rendu inversé qui doit éliminer cette ligne sans que je n'aie rien à faire à part préciser -v Copyright, c'est cool.

Une idée ?
Merci d'avance,

Linux/Debian 11.9 64bits