daudau
Goto Top

Sed und der Speicherbedarf

Ich beschäftige mich gerade mit der Bearbeitung von Textdateien durch sed und habe dazu schon einige Texte gelesen. Aber auch in den Tutorials und Manuals fehlt eine eindeutige Antwort.

Bei sed, dem Stream EDitor, wird immer die zeilenweise Bearbeitung beschrieben. D.h. es wird eine Zeile des Textes eingelesen, analysiert und eventuell bearbeitet und dann wieder ausgegeben.

Die Frage ist jetzt, ob diese Zeilen jeweils bis zum Ende des sed-Skriptes im Speicher verbleiben oder ob diese nach dem ausgeben im Speicher auch gelöscht werden, bevor die nächste Zeile geholt wird.
Ich vermute mal, dass dem so ist, weil sed eben ein zeichenstromorientiertes Programm ist, wo der Zeichenstrom durch sed quasi hindurchströmt und dabei eben nichts hängen bleibt (außer wenn man die Befehle h, H oder x benutzt).
Der Befehl n irritiert mich z.B. etwas.

Bei sehr großen Dateien (mehrere GB) kann es z.B. ein Problem geben, wenn die Datei komplett in den Arbeitsspeicher eingelesen würde und man nicht etwa mit Teilstücken arbeitet.

Content-Key: 168832

Url: https://administrator.de/contentid/168832

Printed on: April 24, 2024 at 01:04 o'clock

Member: dog
dog Jun 29, 2011 at 11:45:01 (UTC)
Goto Top
Warum probierst du es nicht einfach aus? face-smile
Member: Lochkartenstanzer
Lochkartenstanzer Jun 30, 2011 at 11:38:46 (UTC)
Goto Top
Das kommt auf die Implementation an. Und auf die regulären Ausdrücke, die Du verwendest..

Aber i.d.R. wwerden höchstens ein paar Zeilen gepuffert.

Probiers doch einfach mal aus.


Nachtrag. Wenn die "Zeile" natürlich 1TB lang ist,kann es schon etwas eng im Speicher werden. face-smile