Syd*_*ius 112 vim duplicates
我有一个文本文件,其中包含一长串条目(每行一个).其中一些是重复的,我想知道是否有可能(如果是这样,如何)删除任何重复.如果可能的话,我有兴趣在vi/vim中执行此操作.
Bri*_*per 234
如果您可以对文件进行排序,则可以使用:
:sort u
Run Code Online (Sandbox Code Playgroud)
Sea*_*ean 25
试试这个:
__CODE__
在尝试之前复制一份.这是未经测试的.
Kev*_*vin 22
从命令行只需:
sort file | uniq > file.new
Run Code Online (Sandbox Code Playgroud)
awk '!x[$0]++' yourfile.txt如果你想保留订单(即排序是不可接受的).为了从vim调用它,:!可以使用.
我将结合以上两个答案:
go to head of file
sort the whole file
remove duplicate entries with uniq
1G
!Gsort
1G
!Guniq
Run Code Online (Sandbox Code Playgroud)
如果您有兴趣查看删除了多少重复行,请使用control-G之前和之后检查缓冲区中存在的行数.