Con il comando di esempio
man apropos > outputfile
viene generato un file di testo che contiene la manpagina formattata di apropos(con alcune piccole differenze rispetto alla man aproposstampa diretta sullo schermo, come i caratteri in grassetto).
Ma vorrei impostare manualmente la larghezza massima della linea del file di output generato, in modo che tutti i paragrafi siano giustificati a tale larghezza.
manle pagine vengono create tramite groff: ad esempio, ho provato a mettere .ll 50un paragrafo del .gz manfile di testo di origine originale , ma è banale se devo lavorare su più manpagine. Inoltre non tutti i personaggi sono riconosciuti:
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
Quindi, mi chiedo se esiste un metodo più semplice. Come modificare la larghezza massima della linea, durante la creazione di un outputfile? C'è qualche comando specifico?
Modifica :
(Tutte le seguenti considerazioni riguardano Ubuntu 18.04: non posso più provarle nelle versioni precedenti, incluso il 14.04 della domanda sopra.)
Per quanto riguarda una soluzione temporanea su una riga, se MANWIDTHnon è già stata esportata con un valore personalizzato, non c'è differenza tra
$ MANWIDTH=60 man apropos > outputfile
e
$ COLUMNS=60 man apropos > outputfile
Il primo, usando MANWIDTH, è comunque migliore in linea di principio.
Modifica 2 (non strettamente correlato alla domanda):
Per rendere invece un'impostazione di larghezza permanente da applicare a qualsiasi stampa di manpage, è necessario esportare il valore desiderato della variabile. Con:
$ export MANWIDTH=60
# zero or more additional lines
$ man apropos > outputfile
man aproposverrà stampato con la stessa larghezza indipendentemente dal ridimensionamento della finestra del terminale. Anziché,
$ export COLUMNS=60
# zero or more additional lines
$ man apropos > outputfile
fornirà lo stesso risultato di prima solo se la finestra del terminale non viene ridimensionata tra exporte man <page> > outputfile.
man manè 2.6.7.1). La pagina man è in italiano ed è UTF-8. Cosa intendi per locale?
locale? e locale charmap?
localeuscita: LANG=it_IT.UTF-8 LANGUAGE= LC_CTYPE="it_IT.UTF-8" LC_NUMERIC="it_IT.UTF-8" locale charmapuscita:UTF-8
lessperché TERMnon è impostato. Intendevo env -i LANG=it_IT.UTF-8 man apropos > output(o | head).
input codeerrori195 168potrebbe essere in UTF-8. La pagina man è in inglese? Qual è l'implementazione del tuo uomo? Qual è la tua lingua?