我有一长串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,所以说我想删除上面列表中所有未列出5次或更多次的IP。然后输出:
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。

最佳答案

使用sortuniqawk

pu@pumbair: ~  sort data.txt | uniq -c | awk '{if ($1 > 4) print $2,$3}'
67.0.105.76 0
67.0.123.150 0
67.0.163.127 0
67.0.232.158 0

关于python - 删除文本文件中的非重复行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25694837/

10-13 09:39