Yinelenen dosyaları bulmak için Linux araçları?


13

Tüm oldukça küçük (100 bayttan az) büyük ve büyüyen bir metin dosyaları setim var. Her olası dosya çifti ve yinelenen not fark istiyorum. Bunu yapmak için bir Python betiği yazabilirim, ancak bunu yapacak mevcut bir Linux komut satırı aracı (veya belki de basit bir araç kombinasyonu) olup olmadığını merak ediyorum?

Güncelleme ( mfinni yorumuna yanıt olarak ): Dosyaların hepsi tek bir dizinde, bu yüzden hepsinin farklı dosya adları var. (Ancak hepsinin ortak bir dosya adı uzantısı vardır, bu da hepsini bir joker karakterle seçmeyi kolaylaştırır.)


Dosya adlarının yalnızca içerik olmadığını varsayıyorum?
mfinni

yukarıdaki içeriği arıyorsanız pixelbeat.org/fslint link bunu yapmanıza yardımcı olabilir. :)
Rajat

Yanıtlar:


22

İşte fduplar var . Ama ben genelliklefind . -type f -exec md5sum '{}' \; | sort | uniq -d -w 36


1
Bu varyasyon benim için çalıştı: find . -name "*.csv" | xargs md5sum | sort | uniq -D -w 34 (uniq -D kullandım ve -exec'i bulmak için xargs'ı tercih ediyorum.)
Daryl Spitzer

+1 Ben fdupes farkında değildi, bu araç çok yararlı görünüyor.
Zoredache

3
@Daryl: xargsBu şekilde kullanmak, boşluklu dosya adları için -execçalışmaz , ancak kullanmak işe yaramaz. -type fEk argüman olarak kullanmak find(ile birlikte kullanılabilir -name), dosyalarda aramayı kısıtlar.
fuenfundachtzig

Büyük ikili dosyalar için de hızlı olduğu için fdupes için +1.
Bengt

Bazı nadir durumlarda xargs (işlenmiş dosyaların belirli bir miktar sonra çökmesini) çalışmıyor ama her zaman woked -exec wich bulmak değil. @fuenfundachtzig, bu tür dosyaları işlemek için xargs -0 --delimiter = "\ n" kullanabilirsiniz.
ychaouche


3

Neredeyse kesinlikle her bir çift dosyayı dağıtmak istemiyorsunuz. Muhtemelen md5sums gibi bir şey kullanmak istiyorum, tüm dosyaların tüm sağlama toplamlarını almak ve sadece yinelenen sağlama toplamlarını geri bildirecek başka bir araca yöneltmek.


2
Yalnızca boyuttaki dosyalar için md5sum'ları hesaplayarak hesaplanan md5sum sayısını azaltabilirsiniz, bunun için bu boyutta birden fazla dosya vardır. Bu nedenle, bayt cinsinden benzersiz boyuttaki tüm dosyalar için, md5sum'a ihtiyacınız yoktur, çünkü hiçbir şeyin kopyası olamazlar.
tomsv
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.