Formatando o arquivo na linha de comando para impressão

2

Sempre que imprimo um arquivo de texto com os comandos lpr ou lp , as palavras são cortadas no final de uma linha e continuam na outra; por exemplo, 'entender' seria dividido em 'unde' no final da linha um e 'entrelaçado' no início de outro. Existe uma maneira de justificar o texto de um arquivo de alguma forma para impressão? Experimentei as opções lpr -p e -o media=a4 e ajustar à página, mas as palavras ainda estão cortadas.

Soluções que funcionaram para mim:

  1. fold : fold -s textfile.txt | lpr
  2. de garethTheRed
  3. fmt comando encontrado aqui e aqui : fmt -u -w 80 textfile.txt | lpr ; note que a largura 80 pode ser alterada para o que você quiser, mas para mim isso parece funcionar bem o suficiente
por Sergiy Kolodyazhnyy 30.11.2014 / 03:16

1 resposta

4

Use fold . Extrai da página man :

Wrap  input  lines in each FILE (standard input by default), writing to
standard output.

-b, --bytes
   count bytes rather than columns

-c, --characters
   count characters rather than columns

-s, --spaces
    break at spaces

-w, --width=WIDTH
    use WIDTH columns instead of 80

Use fold (talvez usando a opção -s para que não quebre suas linhas no meio da palavra) para definir seu documento com aproximadamente 80 caracteres de largura e imprima:

fold -s myfile.txt | lpr

Ou, para salvar a versão formatada:

fold -s myfile.txt > output.txt
    
por 30.11.2014 / 10:03