Dans vim, je peux supprimer toutes les lignes contenant le mot "price" avec cette
:g /price/d
Comment puis-je supprimer toutes les lignes qui ne contiennent pas le mot "price"?
vim
regex
find-and-replace
digitaljoel
la source
la source
Réponses:
Vous pouvez utiliser
:%g!/price/d
supprimer toutes les lignes qui ne contiennent pas "price"
la source
:g!
est également connu sous le nom de:v
(apparenté àgrep -v
).%
fait?%
est une plage spéciale dans ce contexte qui signifie le fichier entier. Voir:help cmdline-ranges
.%
est facultatif car la plage par défaut est la totalité du tampon.Vous pouvez aussi utiliser:
:v/price/d
supprimer des lignes.
la source
g
c'est pour "global" etv
pour "inverse" (si vous croyez ce que vous lisez sur vim.famdom).help :v
est une autre option qui peut être considérablement plus rapide que
:v
pour les gros fichiers.Testé sur Vim 7.4, Ubuntu 14.04, fichier journal de ligne 1M.
Les lignes qui contiennent le mot: https://stackoverflow.com/questions/1725265/how-can-i-delete-all-lines-that-do-not-begin-with-certain-characters/42714334#42714334
la source