Linux

linux + 從文件中刪除重複的IP

  • May 2, 2013

從文件中刪除重複 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

我相信像’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

查看“排序”手冊頁以獲取更多資訊:

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

嘗試

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

這基本上比較了 vi 中文件上的行

引用自:https://serverfault.com/questions/504424