![]() Mailinglisten-Archive |
> Das Umbauen ist einfach: zeilenweise einlesen, umbauen und wieder > zeilenweise auslesen, kein Problem. Aber wie sortiere ich eine so gro�e > Datei? Alles in ein Array einlesen kommt ja nicht in Frage, daf�r ist die > Datei zu gro�. > > Jemand eine Idee? Mehrere M�glichkeiten: 1. Du k�nntest 5MB-Abschnitte in einzelne Dateien sortieren und dann die einzelnen Abschnitte aus den Dateien Zeilenweise Merge-Sort machen, d.h. immer eine Zeile pro Datei einlesen und entscheiden welche Zeile du als n�chstes in die endg�ltige Zieldatei schreibst. 2. Byteweise einlesen der gro�en Datei und nur das Behalten wonach du sortieren mu�t und gleichzeitig nen Index anlegen bei welchem Byte jede Zeile startet und wie lange sie ist. Dann sortierst du anhand der gemerkten Daten und baust dann die Zieldatei auf indem du in der Quelle mit fseek rumspringst, ne Zeile liest, umbaust und rausschreibst. - Claudius
php::bar PHP Wiki - Listenarchive