Schrift
[thread]5954[/thread]

zeile aus datei loeschen



<< >> 3 Einträge, 1 Seite
hudo
 2003-12-06 00:39
#74755 #74755
User since
2003-11-20
72 Artikel
BenutzerIn
[default_avatar]
Hallo,


gibt es eine Moeglichkeit ein Zeile aus einer Datei zu loeschen,
ohne alle Schritte:

Datei-Inhalt einlesen,
Inhalt bearbeiten,
Datei neu schreiben

auszufuehren ?? Also die Datei nicht komplett neu schreiben...

Gruss
steffenw
 2003-12-06 13:26
#74756 #74756
User since
2003-08-15
692 Artikel
BenutzerIn
[Homepage] [default_avatar]
Eine Datei ist ein sequentieller Bytestrom, der Blockweise abgelegt ist und den Du vom Anfang und vom Ende her indizieren kannst.

Du brauchst aber nicht alles umzukopieren, nur das, was nach dem steht, was Du löschen willst. Du positionierst also auf die Stelle nach dem, was Du löschen willst, liest das z.B. in den Speicher oder sonstwo hin. Dann positionierst Du auf den Anfang von dem, was Du löschen willst, schneidest das File an der Stelle ab und hängst das, was im Speicher o.ä. ist, wieder hinten an.

Bei einer Binärdatei, die Du selbst verwaltest, kannst Du natürlich auch Informationen eintragen, die die gelöschten Bereiche nur markieren, jedoch nicht tatsächlich löschen und dann erst bei einer Reorganisation dieser Datei die enstandenen Lücken schließen.\n\n

<!--EDIT|steffenw|1070710117-->
$SIG{USER} = sub {love 'Perl' or die};
Strat
 2003-12-06 15:18
#74757 #74757
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
wenn es sich um eine Textdatei handelt, koennte dir das Modul CPAN:Tie::File viel Arbeit erleichtern...
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
<< >> 3 Einträge, 1 Seite



View all threads created 2003-12-06 00:39.