我一直在解析一些日誌文件,我發現一些行太長而無法在一行上顯示,所以Terminal.app將它們包裝到下一行。但是,我一直在尋找一種方法來在一定數量的字符之後截斷一行,這樣Terminal就不會換行,這使得更容易找到模式。截斷stdin行的長度?
我寫了一個小Perl腳本來做到這一點:
#!/usr/bin/perl
die("need max length\n") unless $#ARGV == 0;
while (<STDIN>)
{
$_ = substr($_, 0, $ARGV[0]);
chomp($_);
print "$_\n";
}
但我有一種感覺,這個功能可能被內置到一些其他的工具,我只是不知道有足夠的瞭解,以(SED?)用於此任務。
所以我的問題是一個相反的問題:我如何截斷一行stdin沒有寫一個程序來做到這一點?
這是怎麼回事「而不是編程相關」? – 2008-09-26 01:53:54
當然它與編程有關。爲什麼要關閉它? – 2008-09-26 01:54:08
我只需要一個快速而骯髒的答案 - 我已經打開它,所以隨時提供幫助。之所以這不是「編程相關」,是因爲它涉及使用命令行工具代替程序。 – 2008-09-26 02:03:43