Com o comando de exemplo
man apropos > outputfile
é gerado um arquivo de texto que contém a manpágina formatada de apropos(com algumas pequenas diferenças em relação a man aproposimpressos diretamente na tela, como caracteres em negrito).
Mas eu gostaria de definir manualmente a largura máxima da linha do arquivo de saída gerado, para que todos os parágrafos sejam justificados para essa largura.
manas páginas são criadas através de groff: por exemplo, tentei colocar .ll 50antes de um parágrafo do .gz manarquivo de texto original , mas é trivial se eu precisar trabalhar em várias manpáginas. Além disso, nem todos os personagens são reconhecidos:
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
Então, eu me pergunto se existe um método mais direto. Como modificar a largura máxima da linha, durante a criação de um outputfile? Existe algum comando específico?
Editar :
(Todas as considerações a seguir são sobre o Ubuntu 18.04: Não posso mais testá-las nas versões anteriores, incluindo a 14.04 da pergunta acima.)
No que diz respeito a uma solução temporária de uma linha, se MANWIDTHainda não tiver sido exportada com um valor personalizado, não há diferença entre
$ MANWIDTH=60 man apropos > outputfile
e
$ COLUMNS=60 man apropos > outputfile
O primeiro, usando MANWIDTH, é no entanto melhor em princípio.
Editar 2 (não estritamente relacionado à pergunta):
Para criar uma configuração de largura permanente a ser aplicada a qualquer impressão de página de manual, é necessário exportar o valor desejado da variável. Com:
$ export MANWIDTH=60
# zero or more additional lines
$ man apropos > outputfile
man aproposserá impresso com a mesma largura, independentemente de qualquer redimensionamento da janela do terminal. Em vez de,
$ export COLUMNS=60
# zero or more additional lines
$ man apropos > outputfile
fornecerá o mesmo resultado de antes apenas se a janela do terminal não for redimensionada entre exporte man <page> > outputfile.
man mané 2.6.7.1). A página do manual está em italiano e é UTF-8. O que você quer dizer com localidade?
locale? e locale charmap?
localesaída: LANG=it_IT.UTF-8 LANGUAGE= LC_CTYPE="it_IT.UTF-8" LC_NUMERIC="it_IT.UTF-8" locale charmapsaída:UTF-8
lessporque TERMnão está definido. Eu quis dizer env -i LANG=it_IT.UTF-8 man apropos > output(ou | head).
input codeerros195 168podem estar em UTF-8. A página do manual está em inglês? Qual é a sua implementação man? Qual é a sua localidade?