Como visualizar páginas man sem os linefeeds desnecessários?

2

Eu gosto de copiar páginas de manual para minha própria documentação off-line, onde posso destacar e complementar as informações com minhas próprias anotações. No entanto, sempre tenho um problema com o texto exportado que contém feeds de linha no final de cada linha, inclusive no meio dos parágrafos. O processo de eliminar os feeds de linha desnecessários é chato e demorado, e eu esperava encontrar uma maneira simples de inicialmente exportar as informações com os feeds de linha apenas em seus lugares apropriados.

Eu examinei as man pages do comando man e surpreendentemente não encontrei uma solução para este problema. O mais próximo que cheguei para consertar o problema é usar a opção ‘-c’ enquanto estica a janela do terminal para ser o mais ampla possível, no entanto, essa não é uma correção muito eficaz para páginas de manual grandes com parágrafos longos.

Uma coisa interessante que a opção '-c' me mostra é que as localizações das LFs são realmente possíveis de serem modificadas pelo programa man. Então, por que o programa não é capaz de simplesmente remover as desnecessárias? Existe um comando simples que eu perdi de alguma forma?

Obrigado antecipadamente ..

    
por Stack_Exchange_User_adsf 12.10.2014 / 03:14

2 respostas

3

A partir do que você descreve, eu acho que você tem arquivos de texto com quebras de linha depois de uma largura fixa, o que vai ficar feio em uma janela que é pequena para essa largura. Certo? Se assim você poderia usar

    cat mytextfile | tr "\n" " " > mynewtextfile

para remover todas as novas linhas. Não existe realmente uma maneira de um programa decidir quais são "necessárias" e quais não são.

Se você quiser manter todas as novas linhas duplas que podem marcar parágrafos reais, tente algo assim:

    cat myfile | tr "\n" "#" | sed s/"#\([^#]\)"/""/g | tr "#" "\n" > mynewfile

... assumindo que você não possui nenhum # significativo no texto (pode usar outro caractere simulado em vez disso, se for esse o caso).

Outra possibilidade pode ser salvar versões HTML de, por exemplo, link e edite-os em um programa apropriado.

    
por Hinz 12.10.2014 / 15:55
2

Ah, eu encontrei a solução! Você precisa definir a variável de ambiente MANWIDTH antes de chamar o comando man , como por exemplo:

MANWIDTH=10000 man ls

Isto irá definir a largura das colunas para ser tão grande que os feeds de linha nunca são adicionados no meio dos parágrafos.

    
por Stack_Exchange_User_adsf 12.10.2014 / 17:23