我有一個長長的清單100K在一定範圍內的IP地址+,從這個腳本的例子是:刪除在文本文件中的非重複的行
67.0.105.76 0
67.0.123.150 0
67.0.123.150 0
67.0.123.150 0
67.0.123.150 0
67.0.123.150 0
67.0.123.150 0
67.0.123.150 0
67.0.123.150 0
67.0.105.76 0
67.0.123.150 0
67.0.163.127 0
67.0.123.150 0
67.0.163.127 0
67.0.163.127 0
67.0.163.127 0
67.0.163.127 0
67.0.163.127 0
67.0.163.127 0
67.0.163.127 0
67.0.163.127 0
67.0.163.127 0
67.0.105.76 0
67.0.105.76 0
67.0.105.76 0
67.0.232.158 0
67.0.232.158 0
67.0.232.158 0
67.0.232.158 0
67.0.232.158 0
67.0.232.158 0
67.0.232.158 0
67.0.232.158 0
67.0.232.158 0
67.0.232.158 0
67.0.105.76 0
67.0.143.13 0
從這個名單,我想刪除任何IP的是沒有列出多次,所以說我想從上面的列表中刪除所有ips未列出5次或更多次。然後,它將輸出:
67.0.105.76 0
67.0.123.150 0
67.0.163.127 0
67.0.232.158 0
我試圖實現在Linux中使用這個SED/uniq的,但無法找到一個方法來做到這一點,將Python腳本或如需要此或爲有一種可能的方式使用sed/uniq?
使用sort -u 100kfile,它能夠刪除所有重複項,但它仍然保留單個IP。
似乎錯過了一些,如果他們分散出來,我試了它在我的大名單,它似乎是複製一些仍然http://puu.sh/bn8Kl/bc8b1d6bf7.txt – user1372896 2014-09-05 22:54:10
@ user1372896請參閱我的更新。 – uselpa 2014-09-05 22:56:10
+1:你可以完全用'awk'來完成。 'awk'{ips [$ 0] ++} END {for(ip in ips)if(ips [ip]> = 5)print ip}'data.txt' – 2014-09-05 23:16:54