从文件中删除重复 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 中比较文件中的行