Einzelnen Beitrag anzeigen

jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#23

AW: Eine sehr große textbasierte Datei durchsuchen?

  Alt 6. Dez 2017, 10:49
Unter arbeiten meine ich die ged-Datei lesen. Aber auch nicht alles, sondern nur nach bestimmten Namen suchen. Und mit schnell meine ich irgendwelche Vorgehensweise (TFileStream oder ReadLn) die schneller als die restlichen ist. Aus diesen zwei wäre das z.B. TFileStream.
Arbeiten:
Gut, ich meinte eigentlich nur die funktionalen Seite. Was sind die "Arbeits"Szenarien/Anforderungen?
Einen(1) Namen suchen bedeutet idR in einer solchen Datei, dass man zunächst den ersten findet
-wenn die Codierung stimmt. Und:
Formatbedingt kommen solche Gemeinheiten dazu, das Werte in mehreren Zeilen verstreut stehen können, Steuerzeichen dazwischen. Das findet man ohne passende Algorithmen nie, wenn man die Rohdaten durchsucht.

Wie auch immer, findet man was, dann kann man weitersuchen, (über)springen, ausschließen, anzeigen usw.
Man kann auch alle Zeilen suchen, in denen dieser Name vorkommt
oder hier vielleicht besser alle Zeilengruppen, wo er vorkommt.

Schnell:
Auch hier interessiert mich eher, was schnell wäre in Sekunden, nicht welche Technik.
In einer 2 GB Logdatei Suche nach einem Wert der ziemlich am Ende steht dauert mit einem alten Ultraedit bei mir grad ca 30 Sekunden. Ein "gib mir alle Zeilen mit [einBestimmterWert]" hab ich noch nicht probiert, dauert vermutlich genauso lang, wenn es geht.

Worauf ich hinaus will:
Wenn Du nur 10 Namen suchen musst und dann fertig bist, nimm einfach einen geeigneten Editor.
Wenn du mehr "musst", dann wäre es bei dem Volumen nicht verkehrt, die Anforderungen genauer zu kennen und dann eine geeignete Technik zu suchen.

BTW
Es gibt Opensource Software, die GEDCOM kann. Hast Du die schon probiert? Versagen sie den Dienst?

P.S: Ich seh grad, das Thema Anforderungen und geeignete Technik ist eh schon im Gang.
Gruß, Jo
  Mit Zitat antworten Zitat