- 论坛徽章:
- 11
|
本帖最后由 bskay 于 2016-02-05 16:28 编辑
8G内存,完全可以在内存里面搞
另外,不能过多访问磁盘,不能多次起新进程
用python或者perl搞比较合理,其他shell会多次起新进程,会很慢
cat<<EOF>aa.sh
import time
print(time.strftime('readfile %H:%M:%S'))
raw_lines = file('urfile').readlines()
print(time.strftime('procdata %H:%M:%S'))
un_keys = set()
unlines = []
for l in raw_lines:
if l in un_keys:
continue
un_keys.add(l)
unlines.append(l)
print(time.strftime('writefile %H:%M:%S'))
file('urfile.out','w').writelines(unlines)
EOF
python aa.sh
用上面脚本验了一下,把一个10210行文件重复到27552123行处理
readfile 16:26:36
procdata 16:26:40
writefile 16:26:52 |
|