Truncar o comprimento da linha stdin?
Eu estive analisando alguns arquivos de log e descobri que algumas das linhas são muito longas para serem exibidas em uma linha, então o Terminal.app gentilmente as coloca na próxima linha. No entanto, eu tenho procurado uma maneira de truncar uma linha depois de um certo número de caracteres para que o Terminal não seja quebrado, tornando muito mais fácil detectar padrões.
Eu escrevi um pequeno script Perl para fazer isso:
#!/usr/bin/perl
die("need max length\n") unless $#ARGV == 0;
while (<STDIN>)
{
$_ = substr($_, 0, $ARGV[0]);
chomp($_);
print "$_\n";
}
Mas tenho a sensação de que essa funcionalidade provavelmente está embutida em algumas outras ferramentas (sed?) Que eu não sei o suficiente para usar nesta tarefa.
Então, minha pergunta tipo de uma pergunta inversa: como truncar uma linha de stdin sem escrever um programa para fazer isso?