No vim, posso excluir todas as linhas que contêm a palavra "preço" com este
:g /price/d
Como posso excluir todas as linhas que NÃO contêm a palavra "preço"?
vim
regex
find-and-replace
digitaljoel
fonte
fonte
Respostas:
Você pode usar
:%g!/price/d
para excluir todas as linhas que não contenham "preço"
fonte
:g!
também é conhecido como:v
(semelhante agrep -v
).%
faz?%
é um intervalo especial nesse contexto que significa o arquivo inteiro. Veja:help cmdline-ranges
.%
é opcional, pois o intervalo padrão é o buffer inteiro.Você também pode usar:
:v/price/d
para excluir linhas.
fonte
g
é para "global" ev
"inverso" (se você acredita no que lê no vim.famdom).help :v
no vim confirma issoé outra opção que pode ser consideravelmente mais rápida do que
:v
para arquivos grandes.Testado no Vim 7.4, Ubuntu 14.04, arquivo de log de linha de 1 milhão.
Linhas que contêm a palavra: https://stackoverflow.com/questions/1725265/how-can-i-delete-all-lines-that-do-not-begin-with-certifycharacter/42714334#42714334
fonte