vi删除第二次出现模式的行

时间:2015-03-26 16:08:28

标签: vi delete-row

我有一个大文件,并且有很多行重复。我尝试删除每隔一次模式删除的行。尝试在SO上搜索类似的问题,但没有运气。

我可以删除匹配模式的所有行":g / pattern / d"但是不想丢失数据。

要删除的示例模式" John ------- Doe"

Sample data:  
Time--------FName---------LName

11:05-------John------------Doe   
11:05-------John------------Doe  
11:06-------Michael---------Lawrence  
11:06-------Michale---------Lawrence

Expected result:  
11:05-------John------------Doe   
11:06-------Michael---------Lawrence  

1 个答案:

答案 0 :(得分:1)

%!uniq如果文件仅包含已排序的数据
%!sort -u如果文件仅包含数据,但未排序
S,E!uniq其中S是数据的起始行数,E是数据的结束行数,假设数据已排序
S,E!sort -u其中S是数据的起始行数,E是未排序数据的结束行数