巨大なファイルから指定した部分(行)を切り出す方法

これって、シェルコマンドでは案外簡単そうでできないような気がする。
rubyなどのscript言語を使わずともできるはずと思ったのだが・・・。
cutコマンドではサイズで区切ることはできるが、行指定ではできない。


とりあえず今できることは、file.txtという巨大ファイルの
1. 欲しいと思う先頭行に書かれている情報がある
2. 欲しい行数が決まっている
この条件を満たす場合は、以下が使える。


条件を
1. hogehoge
2. 100
とすると、grepの-Aオプションを使って


# grep -A 99 "hogehoge" file.txt > file_100.txt


"hogehoge"に一致したあと、99行抜くので合計100行になる。


"hogehoge"が複数行にある場合は・・・どうなるのかな?
おそらく、2つあれば200行になるだろ。
一致後の行数が足りない場合は・・・おそらく[EOF]までだと思う(未確認)