Re: Suchen und Ersetzen in großer XML-Datei mit kruden Zeichen - wie gehts am besten?
Hans-Dietrich Kirmse wrote:
bei der Variante ist m.E. nur eine Zeile der Datei im Ram und wird
sofort wieder geschrieben. Allerdings brauchst du temporär den
doppelten Festplattenplatz.
Danke für die Anregung, ich werde das mal hier lokal ausprobieren, ich
fürchte, das dauert aber ein wenig.
Ich habe gerade mal versucht, die Datei in kleinere Segmente
aufzuteilen, um überhaupt mal weiterzukommen und nicht nur auf den
Rechner zu warten; wenn ich mit einem Editor etwa 5 Prozent der Datei
ausschneide, kann ich das recht fix verarbeiten. Aber wehe, ich nehme
die ganze Datei - es ist ja unglaublich, wie lagsam ein Rechner wird,
wenn er seine Daten nicht mehr im Ram verarbeiten kann (lokaler Rechner:
E6700, 2 GB RAM; XML-Datei unkomprimiert: 3,2 GB). Mit etwas
Programmierkenntnissen könnte ich die Datei wahrscheinlich problemlos
bspw. in zehn Häppchen à 300 MB zerlegen und dann vermutlich
vergleichsweise rasant sukzessive abarbeiten ;) Ein Freund riet mir dazu
gerade XSLT und Saxon, aber das ist irgendwie völlig jenseits meines
Horizonts.
bin leider auch nur Perl-Autodidakt mit ganz wenig Erfahrung.
vielleicht kann ich dir mehr helfen, wenn du dein Problem noch
genauer beschreibst. [...] weitere Anmerkung. es gibt ab perl 5.6 die
Schreibweise \p{...} - da werden diese Ausdrücke in der geschweiften
Klammer als unicode-formatiert betrachtet und verwendet. habe ich
aber noch nicht damit gearbeitet.
Ich werde erstmal deine Skript-Schnipsel ausprobieren und hier posten,
was mir widerfährt ;)
Und wenn du nicht mit 2 Dateien arbeiten kannst (Plattenplatz), dann
muss ich leider auch passen.
Lokal sollte das erstmal kein Problem sein, und auf dem Server müsste
ich den Platz dann halt schaffen, das dürfte kein Problem sein.
Danke & mfG , -asb
Reply to: