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.
-
-d, --debug
- Affiche les informations de mise au point.
-
-m, --man
- Analyse l'entrée en tant que fichier source de page
de manuel. C'est le comportement par défaut si ni --man ni
--cat ne sont indiquées.
-
-c, --cat
- Analyse l'entrée en tant que page de manuel
préformatée (page « cat »)
--man et --cat ne peuvent pas être indiquées
simultanément.
-
-w, --whatis
- Affiche le nom et la description, tirés de
l'en-tête de la page de manuel, selon le format employé par
apropos et par whatis. C'est le comportement par
défaut si ni --whatis ni --filters ne sont
indiquées.
-
-f, --filters
- Affiche la liste des filtres requis pour prétraiter
la page de manuel avant sa mise en forme par nroff ou
troff.
-
-E encodage, --encoding
encodage
- Force l'encodage à la place du jeu de
caractères deviné pour la page.
-
-?, --help
- Affiche un message d'aide et s'arrête.
- --usage
- Affiche un court mode d'emploi et s'arrête.
-
-V, --version
- Affiche le numéro de version.
- 0
- Programme exécuté sans erreur.
- 1
- Erreur d'exécution.
- 2
-
lexgrog n'a pas réussi à analyser un
ou plusieurs des fichiers d'entrée.
$ 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.
apropos(1),
man(1),
whatis(1),
mandb(8)
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. ([email protected]).
Fabrizio Polacco ([email protected]).
Colin Watson ([email protected]).
Colin Watson a écrit l'interface de la ligne de commande actuelle ainsi
que cette page de manuel.
https://gitlab.com/man-db/man-db/-/issues
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 <
[email protected]> le 2 janvier 2006.
David Prévot <
[email protected]> et l'équipe francophone
de traduction de Debian (2010).
Veuillez signaler toute erreur de traduction en écrivant à
<
[email protected]> 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> ».