Nur eine Zeile auslesen

  • Themenstarter Themenstarter habahu
  • Beginndatum Beginndatum
H

habahu

Guten Abend.

Ich habe ein Problem mit einem Script. Ich habe eine Textdatei, in der Daten nachdem folgenden Muster gespeichert sind:
1|Name2|e@mail.de2|Test :D :p |Donnerstag, 8 Januar , 2004|Test2

Die erste Zahl stellt eine größer werdene ID da, nach der die Einträge klar zugeordnet werden. Nun will ich nur eine bestimmte Zeile (z.B. mit der ID 6) auslesen. Wie geht das? :confused:
 
Zuletzt bearbeitet von einem Moderator:
Wenn du deine Textdatei regelmässig reorganisierst, das heisst nach der ID auf- bzw. absteigend sortierst, könntest du je nach Sortierreihenfolge einfach die komplette Datei in einen Array einlesen und dann mit $array[zeilennummer] einfach die entsprechende Zeile bekommen.

In jedem anderen Fall musst du die Datei Zeile für Zeile durchgehen und nachsehen, ob irgendwann am Zeilenanfang die von dir gewünschte ID steht.

Code:
open(FILE, "<DeineDateiMitDenEinträgen.txt");
while(<FILE>) {
	my ($id, $rest) = split(/\|/,$_,2);
	if($id == $gesuchteID) {
		# tu was mit dem eintrag der sich in $_ befindet
	}
}
close(FILE);
 

Neue Beiträge

Zurück