Jürgen Schneider: Eine bestimmte Zeile in einem sehr großen Text File bearbeiten

Hallo !

Ich moechte mit einem Perl Skript auf eine Text Datei
mit ca. 5000 Zeilen zugreifen.

Mein Problem ist nun, ich moechte z.B. Zeile 4800 ändern. Mir ist
leider nur die Methode bekannt mit der ich das ganze File
einlese, die entsprechende Zeile bearbeite und
anschliessend wieder das ganze File zurueck schreibe.

Ich weiss, das ich mit seek und read im File navigieren kann,
doch wie ueberschreibe ich nur eine bestimmte Zeile, ohne
das ganze File (neu) zu ueberschreiben ???

Vielen Dank
Gruss
Jürgen Schneider

  1. Hallo !

    Ich moechte mit einem Perl Skript auf eine Text Datei
    mit ca. 5000 Zeilen zugreifen.

    Mein Problem ist nun, ich moechte z.B. Zeile 4800 ändern. Mir ist
    leider nur die Methode bekannt mit der ich das ganze File
    einlese, die entsprechende Zeile bearbeite und
    anschliessend wieder das ganze File zurueck schreibe.

    Ich weiss, das ich mit seek und read im File navigieren kann,
    doch wie ueberschreibe ich nur eine bestimmte Zeile, ohne
    das ganze File (neu) zu ueberschreiben ???

    Mögliche Vorgehensweise:

    Du liest das File zeilenweise ein und schreibst es gleichzeitig zeilenweise in eine temporäre Datei wieder raus. Entsprechend deinen Wünschen bearbeitest du deine Zeilen.

    Am Ende löschst du das Originalfile und benennst die temporäre Datei in den alten Dateinamen um.

    - Sven Rautenberg