Vim 删除文件中的部分行

标签 vim vi

我有一个包含以下格式的多行的大文件,

<SomeString1>Key1</SomeString>
<SomeString2>Key2</SomeString>
<SomeString3>Key3</SomeString>
...

我想删除标签,输出应该是这样的,
 Key1
 Key2
 Key3
 ...

从算法上讲,我应该这样写:
For all lines:
   Remove all string before character `>`
   Remove all string after character `</`

最佳答案

只需使用替换 :

:%s/<[^>]*>//g

这将适用 s (替换)命令每行( % )并删除所有 <...>整行的序列 ( g )。

这些命令在很多情况下都会派上用场,尤其是使用正则表达式。您可以找到有关它的更多信息 here .

关于Vim 删除文件中的部分行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31062936/

相关文章:

正则表达式:如何替换模式的一部分并引用其中的变量?

c++ - 在不使用解决方案的情况下使用 Visual Studio 2010

vim - vi 的典型用例是什么?

vim - 使用 vim-latex gq 时会导致字幕突出

sorting - 如何在 Unix 中对字母数字字符串进行排序?

vim - 在 Vim 中突出显示文本范围

linux - 当使用 `C-P` 自动完成单词时,如何防止 Vim 跳转到下一行?

regex - 破译 vim 正则表达式

regex - Vim:忽略映射替换列表中的错误

php - 我可以使用 RegEx 和 VI(或类似的东西)为我自动填充一些文本吗?