[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

(DTPtechNote:26) Re: grep



perlだけを使ってこんな感じにも書けますね。

#!/usr/bin/perl -w
#行数で範囲指定できるgrep
#使い方
#./mygrep.pl 開始行 終了行 パターン ファイル名
$start = shift(@ARGV);
$end = shift(@ARGV);
$pattern = shift(@ARGV);
print "$start行目〜$end行目までの$patternを含む行\n";
foreach $file (@ARGV) {
	open(IN, $file) or die "$file : $!\n";
	while (<IN>) {
		if ($start <= $. and  $. <= $end) {
			print "$. > $_" if /$pattern/;
		}
	}
	close(IN);
}