【发布时间】:2010-09-13 07:58:24
【问题描述】:
我一直在解析一些日志文件,发现有些行太长而无法在一行上显示,因此 Terminal.app 将它们包装到下一行。但是,我一直在寻找一种方法来在一定数量的字符之后截断一行,这样终端就不会换行,从而更容易发现模式。
为此我编写了一个小的 Perl 脚本:
#!/usr/bin/perl
die("need max length\n") unless $#ARGV == 0;
while (<STDIN>)
{
$_ = substr($_, 0, $ARGV[0]);
chomp($_);
print "$_\n";
}
但我有一种感觉,这个功能可能内置在其他一些工具(sed?)中,我只是不太了解如何用于这项任务。
所以我的问题是一个相反的问题:如何在不编写程序的情况下截断一行标准输入?
【问题讨论】:
-
这“与编程无关”如何?
-
当然是和编程有关的。为什么要关闭它?
-
我只需要一个快速而粗略的答案 - 我已经再次打开它,所以请随时贡献。这不是“与编程相关”的原因是因为它涉及使用命令行工具代替程序。