Bonjour,
je suis en train d'essayer de parser ce genre d'information, extraite d'un fichier truetype :
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
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=0 � 2000 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 ...
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,
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
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
Partager