Ich versuche, eine Reihe von Dateien zu verarbeiten. Ich habe bemerkt, dass es Diskrepanzen beim Ausführen eines bestimmten Befehls von der Befehlszeile gibt (d. H. ex
Modus). Z.B.Unterschiede in der Ausführung von vim über die Befehlszeile im Vergleich zum Ausführen im vim-Editor
$cat poo.txt
big
red
dog
small
black
cat
$vim -c "2,$g/^dog/d|wq" poo.txt
$cat poo.txt
big
small
black
cat
Es scheint, dass 2,$g/^dog/d|wq
die Linien mit red
und dog
gelöscht. Das verwirrt mich, weil der Befehl: in Zeile 2 (gehe zu EOF) starten und alle Zeilen löschen soll, die mit dog
beginnen. In diesem Fall würde ich die Ausgabe erwarten:
$ cat poo.txt
big
red
small
black
cat
In der Tat, wenn ich dies in dem Editor vim versuchen ist dies das genaue Verhalten, das beobachtet wird.
FRAGE: Was ist die Ursache für die Diskrepanz zwischen der vim -c
Version und der vim
Version dieses Befehls ausführen?