'Grotty' Manpage-Meldungen

'Grotty' Manpage-Meldungen

Wenn ich versuche, mit grep in bestimmten Manpages zu suchen, erhalte ich mehrere „grotty“-Meldungen.

Zum Beispiel:

man mpv | grep dvdnav

ergibt:

mpv dvdnav://[longest|menu|title][/device] [options]
grotty:<standard input> (<standard input>):90690: character above first line discarded
grotty:<standard input> (<standard input>):90694: character above first line discarded
grotty:<standard input> (<standard input>):90698: character above first line discarded
grotty:<standard input> (<standard input>):90702: character above first line discarded
grotty:<standard input> (<standard input>):91895: character above first line discarded
grotty:<standard input> (<standard input>):91899: character above first line discarded
grotty:<standard input> (<standard input>):91903: character above first line discarded
grotty:<standard input> (<standard input>):91907: character above first line discarded
grotty:<standard input> (<standard input>):94450: character above first line discarded
grotty:<standard input> (<standard input>):94454: character above first line discarded
grotty:<standard input> (<standard input>):94458: character above first line discarded
                                                  │dvdnav://              │ dvdnav://menu                         │

Was verursacht diese Meldungen und wie kann ich sie verhindern?

Antwort1

Ich habe es nicht mpvinstalliert, aber das scheint eher eine Warnung zu sein grotty(das Programm, das Manpage-Quellen verarbeitet, um sie auf die Standardausgabe zu drucken), die wahrscheinlich von nicht konformen Manpages stammt. Haben Sie versucht

man mpv 2> /dev/null | grep dvdnav

? Dadurch werden Fehler und Warnungen grottyan den Zielknoten umgeleitet, sodass Sie eine sauberere Ausgabe erhalten.

Trotzdem handelt es sich bei diesem Fehler wahrscheinlich um einen Fehler in der mpvManpage (oder in grotty, man weiß ja nie).

Antwort2

Ich bin ziemlich sicher, dass dies durch einen Fehler im Textformatierer der Manpage verursacht wird.

[Update: Siehe auchDasAntwort mit Verweis aufInsektBericht.]

man grottysagt,

grotty übersetzt die Ausgabe von GNU troff in ein für schreibmaschinenähnliche Geräte geeignetes Format.


Um dies zu debuggenÜberprüfen Sie zunächst, ob Sie diese Manpage auch mit groffer(grafischem Angebot) anzeigen können.

Als ich auf diese Fehler stieß, stellte ich fest, dass Groffer ohne den Fehler einwandfrei funktionierte, Grotty jedoch den Fehler „Zeichen über der ersten Zeile verworfen“ ausgab.


Also habe ich ein bisschen tiefer gegraben. Die Seite, die mir Probleme bereitete, war zoneminder.1.

Zuerst habe ich es entpackt:

gunzip -k zoneminder.1.gz

Dann kann ich damit einen Test durchführen:

man -l man.1 | grep jksffjsd   #-l means man the local file, i.e. produce error messages

Bearbeiten Sie jetzt zoneminder.1 mit „Teile und herrsche“. Zuerst habe ich die letzte Hälfte gelöscht und der Fehler war weg. Dann habe ich nur die letzten drei Viertel gelöscht und der Fehler war immer noch da. Dann habe ich die letzten fünf Achtel gelöscht und der Fehler war immer noch da. Dann habe ich es mir angesehen und angefangen, immer nur ein paar Zeilen auf einmal zu löschen, bis der Fehler von „an“ auf „aus“ umschaltete.

Ich befand mich in einer Tabelle und konnte nur einige ganze Einträge aus der Tabelle löschen (siehe Abbildung unten).

Ich fand heraus, dass dieser Tisch das Problem war.aber nur, wenn es auf die nächste Seite überlief, wie hier gezeigt:

Bildbeschreibung hier eingeben

Entfernen Sie einen weiteren Eintrag aus der Tabelle und die Fehler verschwinden.


Es ist also fair, dies einfach zu ignorieren.

Ich werde sehen, ob ich es in Grotty als Fehler melden kann.

Antwort3

Das ist über 5 Jahre alt; ich weiß. Aber falls jemand anderes das gleiche Problem hat, habe ich gerade eine Frage wie diese beantwortet; ganz einfach: Wie verwende ich grep, um in einer Manpage nach Optionen zu suchen?

$ man ls | grep -- '--a'
     -a, --all
     -A, --almost-all
     --author

Und um die Ergebnisse auf die Zeilen einzugrenzen, die mit einem Bindestrich beginnen:

grep '^[[:space:]]*-' – 

Testlauf:

$ man shutdown | grep -- '-' | grep '^[[:space:]]*-'
       --help
       -H, --halt
       -P, --poweroff
       -r, --reboot
       -h
       -k

verwandte Informationen