Mit dem Beispielbefehl
man apropos > outputfile
Es wird eine Textdatei generiert, die die formatierte manSeite von enthält apropos(mit einigen kleinen Unterschieden in Bezug auf man aproposdirekt auf dem Bildschirm gedruckte, z. B. fett gedruckte Zeichen).
Ich möchte jedoch die maximale Zeilenbreite der generierten Ausgabedatei manuell festlegen, damit alle Absätze auf diese Breite ausgerichtet werden.
manSeiten werden erstellt durch groff: Ich habe beispielsweise versucht, .ll 50einen Absatz der ursprünglichen .gz manQuelltextdatei vorzulegen, aber es ist trivial, wenn ich an mehreren manSeiten arbeiten muss. Außerdem werden nicht alle Zeichen erkannt:
apropos.1:45: warning: can't find character with input code 195
apropos.1:45: warning: can't find character with input code 168
apropos.1:47: warning: can't find character with input code 178
apropos.1:131: warning: can't find character with input code 169
Ich frage mich also, ob es eine einfachere Methode gibt. Wie ändere ich die maximale Linienbreite während der Erstellung eines outputfile? Gibt es einen bestimmten Befehl?
Bearbeiten :
(Alle folgenden Überlegungen beziehen sich auf Ubuntu 18.04: Ich kann sie in früheren Versionen nicht mehr testen, einschließlich 14.04 der obigen Frage.)
Bei einer einzeiligen temporären Lösung MANWIDTHgibt es keinen Unterschied , wenn sie noch nicht mit einem benutzerdefinierten Wert exportiert wurde
$ MANWIDTH=60 man apropos > outputfile
und
$ COLUMNS=60 man apropos > outputfile
Die erste Verwendung MANWIDTHist jedoch im Prinzip besser.
Bearbeiten 2 (nicht eng mit der Frage verbunden):
Um stattdessen eine permanente Breiteneinstellung vorzunehmen, die auf jeden Manpage-Druck angewendet werden soll, muss der gewünschte Wert der Variablen exportiert werden. Mit:
$ export MANWIDTH=60
# zero or more additional lines
$ man apropos > outputfile
man aproposwird unabhängig von der Größe des Terminalfensters mit derselben Breite gedruckt. Stattdessen,
$ export COLUMNS=60
# zero or more additional lines
$ man apropos > outputfile
liefert nur dann das gleiche Ergebnis wie zuvor, wenn die Größe des Terminalfensters zwischen exportund nicht geändert wird man <page> > outputfile.
man manist 2.6.7.1). Die Manpage ist in Italienisch und es ist UTF-8. Was meinst du mit Gebietsschema?
locale? und locale charmap?
localeAusgabe: LANG=it_IT.UTF-8 LANGUAGE= LC_CTYPE="it_IT.UTF-8" LC_NUMERIC="it_IT.UTF-8" locale charmapAusgabe:UTF-8
lessda TERMnicht festgelegt ist. Ich meinte env -i LANG=it_IT.UTF-8 man apropos > output(oder | head).
input codeFehler nicht reproduzieren ,195 168könnte in UTF-8 sein. Ist die Manpage auf Englisch? Was ist Ihre Mann-Implementierung? Was ist dein Gebietsschema?