Ich habe etwas mit dem Befehl Unix sed
gemacht. Ich habe den Befehl zum Ersetzen und Anhängen in einer Datei ausprobiert. Aber die Schwierigkeit ist, ich muss eine Zwischendatei erstellen und dann mv
verwenden, um sie in die Originaldatei umzubenennen.
Gibt es eine Möglichkeit, es in derselben Datei auf einmal zu machen?
%Vor%Die Datei ist gelöscht!
%Vor%Die Datei ist gelöscht!
GNU sed kennt eine Option -i
, die direkte Bearbeitung der angegebenen Dateien ausführt.
Beim Ausführen einer Operation file1 > file1
wird die Datei geöffnet und abgeschnitten durch die Shell vor dem Programm ( das bekommt seinen Namen als Argument) kommt um etwas davon zu lesen.
Aktualisieren :
sed's man-Seite sagt folgendes über die -i
-Option aus (danke an Delan dafür):
%Vor%
Versuchen Sie es -
%Vor%-i '' ist zum Bereitstellen einer Sicherungsdatei gedacht. Wenn Sie sicher sind, dass Ihre Ersetzung kein Problem verursacht, können Sie '' keine Sicherungsdatei übergeben ''
/ g wird global ersetzt. Wenn Sie mehr als einen Originaltext in einer Zeile haben, ersetzt die Option / g alles andere und ersetzt nur das erste.