
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 mpv
installiert, 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 grotty
an den Zielknoten umgeleitet, sodass Sie eine sauberere Ausgabe erhalten.
Trotzdem handelt es sich bei diesem Fehler wahrscheinlich um einen Fehler in der mpv
Manpage (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 grotty
sagt,
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:
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