我一直在解析一些日志文件,我发现有些行太长而无法显示在一行上,所以Terminal.app将它们包装到下一行.但是,我一直在寻找一种方法来截断一定数量的字符之后的一行,以便终端不会换行,从而更容易发现模式.
我写了一个小的Perl脚本来做到这一点:
#!/usr/bin/perl
die("need max length\n") unless $#ARGV == 0;
while (<STDIN>)
{
$_ = substr($_, 0, $ARGV[0]);
chomp($_);
print "$_\n";
}
Run Code Online (Sandbox Code Playgroud)
但我有一种感觉,这个功能可能内置于其他一些工具(sed?),我只是不知道该用于此任务.
所以我的问题是一个相反的问题:如何在没有编写程序的情况下截断一行stdin?
And*_*ico 12
管道输出到:
cut -b 1-LIMIT
Run Code Online (Sandbox Code Playgroud)
LIMIT是所需的线宽.