LEXGROG(1) | Utilitaires de l'afficheur des pages de manuel | LEXGROG(1) |
lexgrog - Analyser l'information contenue dans l'en-tête des pages de manuel
lexgrog [-m|-c] [-dfw?V] [-E encodage] fichier ...
lexgrog est une implémentation de l'utilitaire traditionnel « groff guess » de lex. Il exploite chacun des fichiers indiqués sur sa ligne de commande, soit en tant que fichiers source de page de manuel, soit en tant que page « cat » préformatée. Il affiche leur nom et leur description selon le format employé par apropos et whatis. La liste des filtres de prétraitement, exigés par la page de manuel avant cela, est passée à nroff ou à troff, ou aux deux.
Si les données en entrée sont mal formatées, lexgrog affichera « parse failed ». Cela peut être utile pour les programmes externes qui doivent vérifier les pages de manuel. Si l'un des fichiers d'entrée de lexgrog est « - », le programme lira l'entrée standard. Si un des fichiers analysé est compressé, une version décompressée sera exploitée automatiquement.
$ lexgrog man.1
man.1: "man - interface de consultation des manuels de référence du système"
$ lexgrog -fw man.1
man.1 (t): "man - interface de consultation des manuels de référence du système"
$ lexgrog -c whatis.cat1
whatis.cat1: "whatis - affiche la description des pages de manuel"
$ lexgrog broken.1
broken.1: parse failed
mandb (qui emploie le même code que lexgrog) analyse la section NOM en tête de chaque page de manuel et recherche le nom et la description de chaque fonction documentée. Bien que l'analyseur soit très tolérant, car il doit faire face aux différentes formes qui ont été historiquement employées, l'extraction de l'information recherchée reste parfois un échec.
Pour que les macros de man fonctionnent correctement, la section NOM doit ressembler à ceci :
.SH NOM toto \- programme qui fait quelque chose
Certains afficheurs de pages de manuel exigent « \- » exactement comme indiqué. mandb est plus tolérant, mais pour assurer la compatibilité avec d'autres systèmes, il est conseillé de conserver la contre-oblique (antislash).
À gauche, il peut y avoir plusieurs noms, séparés par des virgules. Les noms contenant des espaces seront ignorés pour éviter le comportement pathologique avec certaines sections NOM mal formées. Le texte à droite n'a pas de structure imposée et peut être écrit sur plusieurs lignes. Si plusieurs fonctions, avec des descriptions différentes sont documentées dans la même page de manuel, la forme suivante sera employée :
.SH NOM toto, titi \- programmes qui font quelque chose .br tutu \- programme qui ne fait pas grand chose
Une macro, marquant le début d'un nouveau paragraphe, comme .PP, peut être employée à la place de la macro de rupture .br.
Pour être utilisée avec les macros mdoc, dérivées de BSD, la section NOM doit ressembler à ceci :
.Sh NOM .Nm toto .Nd programme qui fait quelque chose
Il y a plusieurs raisons habituelles pour lesquelles l'analyse whatis échoue. Parfois les auteurs des pages de manuel remplacent « .SH NOM » par « .SH MONPROGRAMME ». De ce fait mandb ne peut pas trouver la section dont il a besoin pour extraire l'information. Parfois les auteurs incluent une section NOM, mais y placent le texte descriptif sans respecter le format « nom \- description ». Cependant, n'importe quelle syntaxe ressemblant à ce qui précède devrait être acceptée.
lexgrog essaie d'analyser les fichiers contenant des requêtes .so, mais il ne pourra le faire efficacement que si les fichiers sont correctement installés dans une structure hiérarchique de pages de manuel.
Le code utilisé dans lexgrog pour analyser les pages de manuel a été écrit par :
Wilf. (G.Wilford@ee.surrey.ac.uk). Fabrizio Polacco (fpolacco@debian.org). Colin Watson (cjwatson@debian.org).
Colin Watson a écrit l'interface de la ligne de commande actuelle ainsi que cette page de manuel.
https://savannah.nongnu.org/bugs/?group=man-db
Cette traduction est maintenue à l'aide de l'outil po4a <URL:https://po4a.org/> par l'équipe francophone de traduction de Debian.
Valéry Perrin <valery.perrin.debian@free.fr> le 2 janvier 2006. David Prévot <david@tilapin.org> et l'équipe francophone de traduction de Debian (2010).
Veuillez signaler toute erreur de traduction en écrivant à <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le paquet man-db.
Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « man -L C <section> <page_de_man> ».
2021-02-08 | 2.9.4 |