- 論壇徽章:
- 0
|
問題描述:
一個比較大的文本A,按照列去重重復(fù)行
A 內(nèi)容為 :
name1 pass1
name2 pass2
name1 pass3
name4 pass4
......
通過一個shell 腳本,能得到
name1 pass1
name2 pass2
name3 pass4
我這一般都是有 py 或 perl 的 map 來解決。
邏輯是 -- 偽代碼
for line readline( file )
key,value=line.split('\t')[0],line
if not map has_key key:
push key , value
else :
continue
最后 foreach key,value map : print value
但遇到的問題是 當(dāng)文本夠大 ,這 map 會很占內(nèi)存. 而是要 bsddb 這種內(nèi)存數(shù)據(jù)庫,當(dāng) 內(nèi)存太多 就寫入 文本什么的。有感覺速度不敢恭維(這 io 大文件讀寫入庫太郁悶了)
這一直以來都沒什么好辦法解決,求大蝦 給個方
[ 本帖最后由 liukaiyi 于 2009-7-14 14:16 編輯 ] |
|