Precisamente lo haces con fseek, el problema es que no hay forma de ir a la "Linea 2" lo que tienes que hacer es ir caminando con fseek() y un while() hasta que encuentres lo que quieres cambiar. Es por eso que para procesos de este tipo se usa una BDD porque es más eficiente al ir buscando en registros.
Saludos