使用vi将所有以X开头的行放在文件末尾

时间:2013-09-11 02:02:43

标签: vim vi

以“定义”一词开头的所有行的最佳方法是什么,并将它们粘贴到带有vi的文本文件的末尾?

例如,如果我有:

  

定义XXX

     

     

定义YYY

     

B'/ P>

我希望得到:

  

定义XXX

     

     

定义YYY

     

B'/ P>      

定义XXX

     

定义YYY


解决方案:

  • 在vi中,g/^define/t$效果很好。

  • 请参阅下面的vim解决方案。

1 个答案:

答案 0 :(得分:1)

您可以使用Go<ESC>(gee,owe和转义键)打开文件末尾的一行,然后输入字符:

!!grep '^define' %<ENTER>

将当前行(您刚刚在文件末尾打开的行)替换为grep命令的输出(其中%是当前文件)。

您需要确保首先保存文件,因为它使用磁盘副本,而不是内存中的副本,请记住这与Vim一样 - 较旧的Vi变体可能没有此功能。