As impressoras de linha (e alguns terminais de impressão) nos primeiros anos do Unix foram projetadas para imprimir 66 linhas por página, com 80 ou 132 colunas em um tipo de letra de largura fixa por linha, em formulários de papel contínuo. lpr
não formatou seu argumento stdin ou file; coube a outros programas, como pr
ou nroff
, fazer a formatação. (O lpr também pode enviar a saída de troff
para um fototetróptero).
Para acomodar a dobra entre as páginas e fornecer as margens superior e inferior que a maioria das pessoas prefere, após cada 56 linhas de entrada irá inserir 5 linhas em branco para servir como uma margem inferior e 4 linhas em branco mais uma linha de cabeçalho para servir como margem superior. Se a opção -f
for fornecida, então, na parte inferior de cada página, pr
produzirá um formfeed em vez de 5 linhas em branco. Uma impressora normalmente pode processar um formfeed, que salta mecanicamente para o topo da próxima página, mais rápido do que uma série de linhas em branco. [Existe um programa, cujo nome esqueci, que formata o código-fonte C e insere um formfeed antes do início de cada função, de modo que cada função comece no topo de uma nova página quando você a imprime.]
As impressoras de linha normalmente não envolvem linhas que são maiores que a largura da página para a qual foram projetadas. Mas a impressão de terminais e terminais de exibição (e emuladores de terminal, que são predominantes atualmente) pode envolver ou não linhas longas, dependendo da configuração. (Mais precisamente, você pode configurar o que acontece quando um caractere é impresso na coluna mais à direita: mantenha o cursor / cabeça de impressão nessa última coluna ou mova-o para a primeira coluna da próxima linha). A maioria das pessoas prefere embrulhar para não perder informações.
pr
não fez originalmente nenhuma quebra de linha longa; algumas versões mais recentes, ou você pode usar o programa fmt
como um filtro. No entanto, pr
suporta um comprimento de página configurável (a opção -l
), portanto, se você estiver usando um terminal ou impressora que envolva linhas, poderá estimar um comprimento de página menor que resultará em 56 linhas reais ou menos por página sendo enviada e diga pr
para usar isso.
Isso é o que o seu exemplo fez; ele disse pr
para assumir que uma página tem 50 linhas de texto em vez de 56. Se você acabar com mais ou menos de 6 linhas extras devido à quebra, você não quer que pr
insira suas linhas em branco Isso eliminará o alinhamento das páginas seguintes; você quer que ele produza um formfeed, por isso eles adicionaram a opção -f
em seu exemplo.