Lo de hacerlo en todos los archivos de un directorio es secundario, ya que la línea de comandos te provee herramientas para hacerlo de forma fácil (for i in *, find . -type f, etc)
Veamos cómo resolverlo entonces para un archivo individual.
sed te permite aplicar una acción para un rango delimitado por línea o por un patrón, y tiene una acción que es "eliminar" (d). Lo siguiente borra todo desde la primera línea hasta que se encuentra el patrón "Texto innecesario":
Código BASH:
Ver originalsed '1,/^Texto innecesario/ d' mi_archivo.txt
Saludos.