Я проанализировал некоторые файлы журналов и обнаружил, что некоторые строки слишком длинные для отображения в одной строке, поэтому Terminal.app любезно переносит их на следующую строку. Тем не менее, я искал способ обрезать строку после определенного количества символов, чтобы Терминал не переносился, что значительно упростило обнаружение шаблонов.
Для этого я написал небольшой Perl-скрипт:
#!/usr/bin/perl
die("need max length\n") unless $#ARGV == 0;
while (<STDIN>)
{
$_ = substr($_, 0, $ARGV[0]);
chomp($_);
print "$_\n";
}
Но у меня есть ощущение, что эта функциональность, вероятно, встроена в какие-то другие инструменты (sed?), которые я просто недостаточно знаю, чтобы использовать для этой задачи.
Итак, мой вопрос похож на обратный вопрос: как мне обрезать строку стандартного ввода без написания программы для этого?