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?
vim
regex
find-and-replace
digitaljoel
quelle
quelle
Antworten:
Sie können verwenden
:%g!/price/d
jede Zeile löschen, die nicht "price" enthält
quelle
:g!
ist auch bekannt als:v
(verwandt mitgrep -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.
quelle
g
für "global" undv
für "invers" (wenn Sie glauben, was Sie auf vim.famdom lesen).help :v
in vim bestätigt esist 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
quelle