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

yae*_*ael 0 linux solaris ksh sort shell-scripting

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

我使用命令:

        sort file | uniq
Run Code Online (Sandbox Code Playgroud)

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

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

文件示例

 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
Run Code Online (Sandbox Code Playgroud)

小智 6

我相信像“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
Run Code Online (Sandbox Code Playgroud)

查看“排序”联机帮助页了解更多信息:

-u, --unique
with -c, check for strict ordering; without -c, output only the first of an equal run
Run Code Online (Sandbox Code Playgroud)

  • 注意:这与`sort | 几乎完全相同。uniq` 并且应该一样快,除非您多次运行命令。 (2认同)