我一直在解析一些日志文件,发现有些行太长而无法在一行上显示,因此 Terminal.app 将它们包装到下一行。但是,我一直在寻找一种在一定数量的字符后截断一行的方法,这样终端就不会换行,从而更容易发现模式。
为此,我编写了一个小的 Perl 脚本:
#!/usr/bin/perl
die("need max length\n") unless $#ARGV == 0;
while (<STDIN>)
{
$_ = substr($_, 0, $ARGV[0]);
chomp($_);
print "$_\n";
}
但我有一种感觉,这个功能可能内置在其他一些工具(sed?)中,我只是不太了解用于这项任务。
所以我的问题是一个相反的问题:如何在不编写程序的情况下截断一行标准输入?