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); }