処理2と3は不要だろ
処理4で全行ループさせて、該当行かどうかチェックすればいいだけ

最後にまとめてファイルに書くんじゃなくて、行単位で書き出せ
書きだす内容を変数にためると、サイズチェックしないといずれ入りきらなくなる