Avec l'exemple de commande
man apropos > outputfile
un fichier texte est généré qui contient la manpage formatée de apropos(avec quelques petites différences par rapport à l' man aproposimpression directe à l'écran, comme les caractères gras).
Mais je voudrais définir manuellement la largeur de ligne maximale du fichier de sortie généré, afin que tous les paragraphes soient justifiés à cette largeur.
manles pages sont créées via groff: par exemple, j'ai essayé de mettre .ll 50avant un paragraphe du .gz manfichier texte source d' origine , mais c'est trivial si j'ai besoin de travailler sur plusieurs manpages. De plus tous les personnages ne sont pas reconnus:
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
Je me demande donc s'il existe une méthode plus simple. Comment modifier la largeur maximale de ligne, lors de la création d'un outputfile? Existe-t-il une commande spécifique?
Modifier :
(Toutes les considérations suivantes concernent Ubuntu 18.04: je ne peux plus les tester dans les versions précédentes, y compris le 14.04 de la question ci-dessus.)
En ce qui concerne une solution temporaire d'une ligne, si elle MANWIDTHn'a pas déjà été exportée avec une valeur personnalisée, il n'y a pas de différence entre
$ MANWIDTH=60 man apropos > outputfile
et
$ COLUMNS=60 man apropos > outputfile
La première, en utilisant MANWIDTH, est cependant meilleure en principe.
Edit 2 (pas strictement lié à la question):
Pour définir à la place un paramètre de largeur permanent à appliquer à toute impression de page de manuel, il est nécessaire d' exporter la valeur souhaitée de la variable. Avec:
$ export MANWIDTH=60
# zero or more additional lines
$ man apropos > outputfile
man apropossera imprimé avec la même largeur quel que soit le redimensionnement de la fenêtre du terminal. Au lieu,
$ export COLUMNS=60
# zero or more additional lines
$ man apropos > outputfile
fournira le même résultat qu'auparavant uniquement si la fenêtre du terminal n'est pas redimensionnée entre exportet man <page> > outputfile.
man manest 2.6.7.1). La page de manuel est en italien et elle est UTF-8. Qu'entendez-vous par locale?
locale? et locale charmap?
localesortie: LANG=it_IT.UTF-8 LANGUAGE= LC_CTYPE="it_IT.UTF-8" LC_NUMERIC="it_IT.UTF-8" locale charmapsortie:UTF-8
lesscar TERMn'est pas paramétré. Je voulais dire env -i LANG=it_IT.UTF-8 man apropos > output(ou | head).
input codeerreurs195 168pourraient être è en UTF-8. La page de manuel est-elle en anglais? Quelle est votre implémentation homme? Quelle est votre localisation?