90 gb lık txt dosyası var, dosya içerisinde aynı kelimeler var, ben her kelime yalnızca bir kez geçsin istiyorum çok şey denedim her seferinde memory hatası aldım 90 gblık dosyaya ram yetmiyor
python kodlarından en son yazdığım bu oldu. Linux python farketmez herhangi bir şekilde çözümü olan var mı bu python kodu aynı şeyleri ekliyor, eklememsi gerekirken nerede hata yaptığımıda bilmiyorum
not: başta hash falan filan yoktu aynı şeyleri ekliyor diye denemeler yaptımda böyle oldu
def uniqteVarmi(kelime):
c = open("C:dosyamozamanhash.txt", errors="ignore")
varmi = "yok"
for a, b in enumerate(c):
if str(hash(str(b).replace("n",""))) == str(hash(str(kelime).replace("n", ""))):
varmi = "var"
c.close()
return varmi
c.close()
return varmi
f = open("F:90gblikdosya.txt",errors="ignore")
for i, line in enumerate(f):
if str(uniqteVarmi(str(line).replace("n","")) == "yok"):
infilem = open("C:dosyamozaman.txt", 'a')
infilem.write(str(line).replace("n","") +"n")
infilem.close()
infilem = open("C:dosyamozamanhash.txt", 'a')
infilem.write(str(hash(str(line).replace("n",""))) +"n")
infilem.close()
Çözüm Bulamadım
5
●92
- 27-06-2021, 02:23:03
- 27-06-2021, 03:37:56Oncelikle filesplitter adinda windows store'da bi uygulama var. Bu programla 10 parcaya bolun. Toplamda 10 dosya oluşsun. Her birini excel ile acip duplicateleri bulun (excel'de bu ozellik var arastiriniz) ve oncelikle tekli dosya icerisindeki duplicateleri silin. Ardindan 10 dosyamiz var bunlari kombinleyin 2'ser sekilde 10.9.8!/ (10-2)! = 90 farkli kombinasyon. Bu sekilde ilerleyerek halledersiniz. Sayilari ram durumuna gore arttirip azaltabilirsiniz.
- 27-06-2021, 03:42:54ya da external merge sort olayini arastiriniz, pythonda yazilmis kaynaklar bulunmakta
- 27-06-2021, 03:50:27Cidden ço merak ettim, bu çevreye yayılmaması gereken konuyusadecemfk adlı üyeden alıntı: mesajı görüntüle

bu konunun oldukça basit bir çözümü var.
Eski bir linux komutudur.
Örnek içerik;
Ahmet, mehmet.
Ahmet Ayşe
ahmet musafa
sort elinizdekidosya.txt sonucdosyası.txt | uniq
sonuç içerik ;
Akmet, mehmet,ayşe,mustafa
şeklide olacaktır.
İyi forumlar dilerim.
