Aqui estão algumas soluções simples. Para simplesmente truncar linhas com mais de 80 caracteres, escreva um script contendo
#!/bin/sh
expand "$@" | cut -c1-80
e canalize seu programa para ele. Uma abordagem um pouco mais sofisticada é
#!/bin/sh
expand "$@" | awk '{ if (length <= 80) print; else print substr($0,1,77) "...";}'
Isso adiciona ...
como marcador quando descarta dados.
Ele fornece apenas os primeiros 77 caracteres, então o ...
em si não ultrapassa a margem.
O comando expand
é usado para expandir tabulações para espaços,
porque os comandos cut
e awk
estão simplesmente contando caracteres,
e não perceberia que uma linha contendo mais de dez guias é muito longa.