linux + 从文件中删除重复的 IP

linux + 从文件中删除重复的 IP

从文件中删除重复 IP 的最佳方法是什么

我使用以下命令:

        sort file | uniq

但我不确定这是否是最好的方法,也许我错过了什么?

备注:我的文件包含两个字段

文件示例

 172.17.200.1 3.3.3.3
 172.17.200.1 3.3.3.3
 255.255.255.0 255.255.255.111
 255.255.255.0 255.255.255.111
 172.17.200.2 3.3.3.4
 255.255.255.0 255.255.255.111
 172.17.200.3 3.3.3.5
 255.255.255.0 255.255.255.111
 172.17.200.4 3.3.3.7
 255.255.255.0 255.255.255.111
 172.17.200.5 3.3.3.8
 255.255.255.0 255.255.255.111
 255.255.255.0 255.255.255.111
 172.17.200.1 3.3.3.3
 255.255.255.0 255.255.255.111
 172.17.200.2 3.3.3.4
 255.255.255.0 255.255.255.111
 172.17.200.3 3.3.3.5
 255.255.255.0 255.255.255.111
 172.17.200.4 3.3.3.7
 255.255.255.0 255.255.255.111
 172.17.200.5 3.3.3.8
 255.255.255.0 255.255.255.111
 255.255.255.0 255.255.255.111

答案1

我相信像 'sort -u' 这样简单的事情应该对你有用

#sort -u /tmp/test

172.17.200.1 3.3.3.3
172.17.200.2 3.3.3.4
172.17.200.3 3.3.3.5
172.17.200.4 3.3.3.7
172.17.200.5 3.3.3.8
255.255.255.0 255.255.255.111

查看“sort”手册页以了解更多信息:

-u, --unique
with -c, check for strict ordering; without -c, output only the first of an equal run

答案2

尝试

:%s/^\(.*\)\n\1$/\1/

这基本上是在 vi 中比较文件中的行

相关内容