Txt dosyalarında tekrarlananları temizleme

elimde birden fazla txt dosyası şeklinde 100 gb civarında bir data mevcut. Bu klasör içerisindeki txt dosyalarını kontrol edip eşleşen içerikleri temizleyecek ve tek bir txt dosyasına yazıcak bir kod ihtiyacım mevcut. Yardımcı olabilirseniz sevinirim

Forumda genelde hazır kod yazmaktan ziyade yönlendirme yaparak balık tutmayı öğretmek hedefleniyor.

Klasörde farklı isimlerdeki txt dosyalarınızı Python ile tek tek kontrol etmek için bu dosyaları otomatikman listelemek lazım, bunun için os kütüphanesinin listdir metodunu kullanabilirsiniz.

Sonrasında Python dosya işlemleri ile dosta okuma yapabilirsiniz.

Listelediginiz ve tek tek okuyabildiğiniz dosyalar üzerinde karakter dizilerinin metotlarını kullanarak bahsettiğiniz problemi çözebilirsiniz.

Deneme yaptıktan sonra sıkıntı yaşadığınız kodları paylaşırsanız yardımcı olacak yetenekli arkadaşlar var.

1 Beğeni

100gb txt ise işin zor.

Nasil yardimci olabiliriz?

Herhangi bir programlama dili kullanabilirsiniz (standard kutuphanesinde set, map, dictionary veya “hash” ile baslayan bir veri turu olanlari tavsiye ederim) veya ise gore POSIX text isleme aletleri (sort, uniq, grep, sed, awk) daha hizli veya kullanisli olabilir.

Herkese yanıtları için teşekkür ederim. İşlev aletleri ve diller konusunda fikirleriniz için danışmıştım hazır kod için değil :slight_smile: birkaç düzenleme yaptım şimdi 50-100 mb dosyalarda problemsiz istediğimi yapıyor. büyük boyutta nasıl yapacak bakalım.

Dosya bazinda tekrarlar icin tum dosyanin checksum’ini hesaplayan aletler (md5sum, sha256sum) yeterli olacaktir.
Satir bazi icin sort + uniq yetebilir.
Dosya isleme icin sed, karmasik islemler eklenecekse (g)awk.

Kod yazilacaksa, soyledigimden cikartabileceginiz uzere, satirlari (veya tekrarlayan seyin unitesi neyse) hashmap (/map/dictionary) veya hashset (/set) icinde tutmaniz lazim.

Hafiza yetmezse Bloom filter, diskte veritabani filan kullanilabilir de, onu o zaman konusuruz zaten.

100 GB hic bir sey degil.

Normalde;

Hangi yönden kontrol edecek. Neyi temizleyecek, çünkü alınan bilgi formatı nedir? Ona göre temzilemekten ne kastediliyor, yazılabilir karakterler mi? Yazılamaz karakter ler veya karakter dizileri mi diye sorardım.

İlk kriter belirginleştirilirse text dosyasına yazmak sorun değil de derdim.

Hatta çok büyük dosyalarda bunu yapan forumda örnek kod başlıklarındaki kodlara da referans verirdim.

Ve hatta ve hatta, hangi işletim sistemini kullanıyorsunuz, kullanacağınız işletim sistemine göre özel araçlar da önerebiliriz diyecektim.

Ama başık python etiketli seçilmiş.

Üzerine de;

Cümlesini görünce bu ne yapan çelişki deyip geçtim.

Yani verileri formatlama, sıralama biçimlendirme, içerikte arama, file mapping bütün hayallerim suya düştü.

Empati gereği detected deyip.

Sevgi, barış dünya kardeşliği deyip geçiyorum.

Herkese kolay gelsin.