In vim kann ich damit alle Zeilen löschen, die das Wort "price" enthalten
:g /price/d
Wie kann ich alle Zeilen löschen, die NICHT das Wort "Preis" enthalten?
In vim kann ich damit alle Zeilen löschen, die das Wort "price" enthalten
:g /price/d
Wie kann ich alle Zeilen löschen, die NICHT das Wort "Preis" enthalten?
Antworten:
Sie können verwenden
:%g!/price/d
jede Zeile löschen, die nicht "price" enthält
:g!
ist auch bekannt als :v
(verwandt mit grep -v
).
%
?
%
ist in diesem Zusammenhang ein spezieller Bereich, der die gesamte Datei bezeichnet. Sehen :help cmdline-ranges
.
%
ist optional, da der Standardbereich den gesamten Puffer umfasst.
Sie können auch verwenden:
:v/price/d
Zeilen löschen.
g
für "global" und v
für "invers" (wenn Sie glauben, was Sie auf vim.famdom lesen).
help :v
in vim bestätigt es
%!grep "price"
ist eine weitere Option, die erheblich schneller sein kann als :v
bei großen Dateien.
Getestet unter Vim 7.4, Ubuntu 14.04, 1M-Zeilenprotokolldatei.
Zeilen, die das Wort https://stackoverflow.com/questions/1725265/how-can-i-delete-all-lines-that-do-not-begin-with-certain-characters/42714334#42714334 enthalten