ファイルの指定行にデータを挿入する

サブルーチンを考えていたが、自分の能力では
ファイルのデータをすべて変数に読み込んでおいてから加工してファイルに上書きする
って方法しか思いつかない。
これだとファイルのデータが大きくなると処理に時間がかかることになる。
seek関数を使えばなんとかなるかもしれないががヘタレなのでこのまま使うことにする、、、。