Wenn Sie auf einem Nix sind oder Cygwin verwenden, dann
sed -i '/xyz/!d' filename
wird es für Sie von der CLI tun.
Das -i
Flag weist sed an, die Datei direkt zu ändern. In der Tat, das erste ist, was Sie tun sollten, laufen
sed '/xyz/!d' filename | more
Da die ursprüngliche Datei dadurch nicht beeinträchtigt wird, drucken Sie die korrigierte Ausgabe auf dem Bildschirm (daher der Befehl more, um die Ausgabe vorsichtig zu analysieren), sodass Sie überprüfen können, ob alles wie gewünscht funktioniert. Wenn Sie zufrieden sind, können Sie den Befehl mit der -i
Option ausführen .
Offensichtlich /xyx/
ist das Suchmuster und !d
die auszuführende Aktion (= nicht löschen), Zeile für Zeile.