LEXGROG(1)

NUME
lexgrog - analizează informațiile antetului din paginile de manual

SINOPSIS
lexgrog [-m|-c] [-dfw?V] [-E codificarea] fișier ...

DESCRIERE
lexgrog este o implementare a utilitarului tradițional “groff în lex. Acesta citește lista de fișiere din linia de comandă fie ca fișiere sursă a paginilor de manual, fie ca pagini preformatate \(lqcat\(rq, și afișează numele și descrierea acestora așa cum sunt utilizate de apropos și whatis, afișează lista filtrelor de preprocesare necesare paginii de manual înainte de a fi transmisă la nroff sau troff sau ambele.

Dacă intrarea aceasta este formatată greșit, lexgrog va imprima “parse failed”; acest lucru poate fi util pentru programele externe care trebuie să verifice paginile de manual pentru corectitudine. Dacă unul dintre fișierele de intrare ale lui lexgrog este “-”, se va citi de la intrarea standard; dacă orice fișier de intrare este comprimat, o versiune decomprimată va fi citită automat.

OPȚIUNI

-d, --debug
    Imprimă informațiile de depanare.

-m, --man
    Analizează intrarea ca fișiere sursă de pagini de manual. Acesta este comportamentul implicit dacă nu este dată nici opțiunea --man, nici opțiunea --cat.

-c, --cat
    Analizează intrarea ca pagini de manual preformatate (“cat pages”). --man și --cat nu pot fi date simultan.

-w, --whatis
    Afișează numele și descrierea din antetul paginii de manual, așa cum sunt utilizate de apropos și whatis. Aceasta este comportamentul implicit dacă nu este specificată nici opțiunea --whatis, nici opțiunea --filters.

-f, --filters
    Afișează lista de filtre necesare pentru a preprocesa pagina de manual, înainte de a fi formatată cu nroff sau troff.

-E codificarea, --encoding codificarea
    Suprascrie setul de caractere ghicit pentru pagină, cu codificarea.

-?, --help
    Imprimă un mesaj de ajutor și iese.

--usage
    Imprimă un mesaj scurt de utilizare și iese.

-V, --version
    Afișează informații despre versiune.

STARE DE IEȘIRE

0   Executarea programului s-a încheiat fără erori.

1   Eroare de utilizare.

2   lexgrog nu a reușit să analizeze unul sau mai multe dintre fișierele de intrare.

EXEMPLE
  $ lexgrog man.1
  man.1: "man - o interfață la manualele de referință ale sistemului"
  $ lexgrog -fw man.1
  man.1 (t): "man - o interfață la manualele de referință ale sistemului"
  $ lexgrog -c whatis.cat1
  whatis.cat1: "whatis - afișează descrieri ale paginilor de manual"
  $ lexgrog defect.1
  broken.1: analizarea a eșuat

ANALIZARE WHATIS
mandb (care utilizează același cod ca lexgrog) analizează secțiunea NUME din partea de sus a fiecărei pagini de manual, căutând nume și descrieri ale caracteristicilor documentate în fiecare dintre ele. Cu toate că analizatorul este destul de tolerant, deoarece trebuie să facă față unui număr de forme diferite care au fost folosite în trecut, acesta poate câteodată să eșueze în extragerea informațiilor necesare.

Când se utilizează setul de macrocomenzi tradițional man, o secțiune corectă NUME arată cam așa:

        .SH NUME
        foo \- program ce face ceva

Unele paginatoare de manual necesită ca ‘\-’ să fie exact așa cum este arătat(aici); mandb este mai tolerant, dar pentru compatibilitate cu alte sisteme este totuși o idee bună să păstrați bara oblică inversă.

În partea din stânga, pot să fie mai multe nume, separate prin virgulă. Numele care conțin spații, vor fi ignorate pentru a se evita un comportament neobișnuit în anumite secțiuni NUME formatate greșit. Textul din partea dreaptă este în formă liberă, și se poate fi întinde pe mai multe rânduri. Dacă mai multe funcționalități cu descrieri diferite sunt documentate în aceeași pagină de manual, va fi utilizat următorul format:

        .SH NUME
        foo, bar \- programe ce fac ceva
        .br
        baz \- program ce nu face nimic

(O macrocomandă care începe un nou paragraf, cum ar fi .PP, poate fi utilizată în locul macrocomenzii de întrerupere de linie .br.)

Când se utilizează setul de macrocomenzi mdoc derivat din BSD, o secțiune NUME corectă, arată cam așa:

        .Sh NUME
        .Nm foo
        .Nd program ce face ceva

Există mai multe motive comune pentru care analizarea «whatis »eșuează. Uneori autorii paginilor de manual înlocuiesc ‘.SH NUME’ cu ‘.SH PROGRAMULMEU’ și apoi mandb nu poate găsi secțiunea de la care să extragă informațiile de care are nevoie. Uneori autorii includ o secțiune NUME, dar plasează text în formă liberă acolo, în locul ‘nume \- descriere’. Totuși, orice sintaxă care se aseamănă cu cea de deasupra ar trebui să fie acceptată.

CONSULTAȚI ȘI
apropos(1), man(1), whatis(1), mandb(8)

NOTE
lexgrog încearcă să analizeze fișierele care conțin solicitări .so, dar va putea face acest lucru corect numai dacă fișierele sunt instalate așa cum trebuie într-o ierarhie de pagini de manual.

AUTOR
Codul utilizat de lexgrog pentru a scana paginile de manual a fost scris de:

Wilf. (G.Wilford@ee.surrey.ac.uk).
Fabrizio Polacco (fpolacco@debian.org).
Colin Watson (cjwatson@debian.org).

Colin Watson a scris versiunea curentă a interfeței liniei de comandă, precum și această pagină de manual.

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