大量url去重问题

url列表文件高达1G那么大,可是内存只有128M,怎么办?
其实工作很经常遇到这个问题(常常动不动一个文件就接近10G),因为需要统计站点、后缀什么的。可每次我都是直接用sort,uniq命令几行解决,大概因为前一段时间在看shell根本不会往深了想每次做次统计都要等几个小时(脑子僵化得可以了)。
这个问题的经典做法是,对url进行fingerprint之后取模,用这种办法将文件切分成若干个小文件,而这些小文件直接用哈希表就可以消重,然后这些文件直接合并,虽然Fingerprint有可能会将不同的url视为同一个但概率极低极低。考虑到特定性,我推测uniq是不会做这种优化的吧。

你可能感兴趣的:(优化,工作,shell,url)