Há também uma opção -w
para fmt que define a largura máxima de uma linha e a opção -s
para dividir linhas longas. O padrão para -w
é 75 caracteres. Minha solução rápida seria algo semelhante a isso:
cat [stuff] | fmt -sw 50 | awk '{printf " "$0"\n"}' | lpr
Aqui fmt limita os caracteres por linha (neste exemplo 50) e divide linhas longas automaticamente. Em seguida, essa saída é canalizada para awk , que adiciona tantos espaços quanto houver entre as primeiras aspas depois de printf e, em seguida, coloca a linha de fmt e, eventualmente, faz uma quebra de linha por "\n"
.
Tenho certeza de que isso pode ser feito apenas com o awk , mas eu era tão influenciado pelo seu fmt que o mantive. Eu adicionarei um EDIT assim que eu tiver uma expressão com awk somente.
6chars