用grep从一亿个QQ号里提取6位QQ号

生成测试文件

用Python生成 不过效率好渣啊

1
2
3
4
5
6
import random as rm;
n = 100000000
for i in xrange(n):
r1 = rm.uniform(0, 1000000000);
r2 = rm.uniform(0, 1000000000);
print('%d\t%x' %(r1, r2));

运行 结果保存到一个文本文件

1
python a.py > a.txt

grep

1
time grep -E "^[0-9]{6}\s+.*$" ./a.txt > res.txt

在我这里的结果是

real 3m40.924s
user 3m40.437s
sys 0m0.468s

不到4分钟 速度还不错

查找指定QQ号

比如我的QQ号 493165744

只用了不到10秒钟诶

1
time grep -E "^493165744\s+.*$" ./a.txt > res.txt

好激动啊 打开结果看一下

493165744 e86379d

不错哦

哦 对了 怪不得这么慢啊 我生成的随机数是不重复的 是不是啊