Zeichenfolge aus File löschen?
Tom
- perl
0 Sebastian Biallas0 Cheatah0 Tom
Hi,
ich habe in einem Textfile mehrere Zeilen stehen, die in etwa so aussehen:
RudolfLobby
GerhardCafé
MichaelLobby
GeortLobby
usw
wenn ich jetzt z.B. nur den String "GerhardCafé" (mit dem Zeilenumbruch) rauslöschen will, wie mache ich das per Perl?
Danke im Voraus
Tom
Naja, Du liest die Datei und schreibst sie wieder, wobei Du die betreffende Zeile weglaesst.
z.B.
while (<IN>) {
print OUT $_ unless ($_ eq $zeile_die_nicht_soll);
}
Hi,
wenn ich jetzt z.B. nur den String "GerhardCafé" (mit dem Zeilenumbruch) rauslöschen will, wie mache ich das per Perl?
Datei komplett einlesen, Eintrag löschen, Datei komplett schreiben. Eine Methode, nur eine Zeile o.ä. zu entfernen, gibt es nicht.
Wenn Du Sebastians Lösung nutzen möchtest, bedenke bitte, daß IN und OUT zwei verschiedene Dateien sein müssen, weil Du sonst genau die erste Zeile übernimmst und den Rest löschst :-)
Cheatah
Hi,
wenn ich jetzt z.B. nur den String "GerhardCafé" (mit dem Zeilenumbruch) rauslöschen will, wie mache ich das per Perl?
Datei komplett einlesen, Eintrag löschen, Datei komplett schreiben.
hm... da ich mit Perl erst beginne, bin ich mir nicht ganz so sicher...
---
open(LIST,"$root/names.txt");
@namez = <LIST>;
close(LIST);
---
Das is mal einlesen, oder?
Wenn das stimmt, is es schon mal ok...
aber wie lösche ich den Eintrag jetzt raus?
Das kann ich leider noch nicht.
Danke
Tom
Wenn das stimmt, is es schon mal ok...
aber wie lösche ich den Eintrag jetzt raus?
Das kann ich leider noch nicht.
Aber hier greift die Lösung von Sebastian: Alles ausgeben, das *nicht* Dein Kriterium für "Löschen" erfüllt.