LEXGROG(1)

NOM
lexgrog - Analyser l'information contenue dans l'en-tête des pages de manuel

SYNOPSIS
lexgrog [-m|-c] [-dfw?V] [-E encodage] fichier ...

DESCRIPTION
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.

OPTIONS

-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.

CODE DE RETOUR

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.

EXEMPLES
 $ 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

ANALYSE WHATIS
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 NAME
        foo \- program to do something

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 NAME
        foo, bar \- programs to do something
        .br
        baz \- program to do nothing

(A macro which starts a new paragraph, like .PP, may be used instead of the break macro .br.)

Pour être utilisée avec les macros mdoc, dérivées de BSD, la section NOM doit ressembler à ceci :

        .Sh NAME
        .Nm foo
        .Nd program to do something
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.

VOIR AUSSI
apropos(1), man(1), whatis(1), mandb(8)

NOTA BENE
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.

AUTEUR
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.

BOGUES
https://gitlab.com/man-db/man-db/-/issues
https://savannah.nongnu.org/bugs/?group=man-db

TRADUCTION
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> ».