Ich habe versucht sed
, einige Schlüsselwörter in einer großen Datei (100 MB) zu ersetzen. Die -i
(Inplace-) Option war mir nicht bekannt, daher war mein erster Versuch, die Weiterleitung folgendermaßen durchzuführen:
sed 's/original/edited/g' file.log >> file.log
Was danach passierte war, dass mein PC zum Stillstand kam, fast ohne Tastatureingabe. Ich habe versucht , eine andere Konsole Ctrl+ Alt+ F1aber nach Benutzername langsam eintritt, ist es auch angehalten. Ohne Tastatur bestand meine einzige Option darin, die Maschine per Hardware-Reset zurückzusetzen. Nach dem Einloggen sah ich, dass file.log ungefähr 8 GB groß war.
Ich möchte wirklich verstehen, warum die Ausführung dieses Befehls dazu geführt hat, dass das System nicht mehr reagiert, und ob auf Systemebene Mechanismen vorhanden sind, die Warnungen auslösen und den fehlerhaften Prozess beenden.
free -h
?
ex -sc '%s/original/edited/ge|x' file.log
sollte tun, was Sie in einer UNIX-idiomatischen Weise ohne die sed -i
Nebenwirkungen wollen.