Yinelenen dosyaları nasıl bulur (ve siler)

121

Büyük bir müzik koleksiyonum var ve orada bazı kopyalar var. Yinelenen dosyaları bulmanın bir yolu var mı? En azından bir hash yaparak ve iki dosyanın aynı karması olup olmadığını görerek.

Ayrıca, uzantı dışında aynı ada sahip dosyaları bulmak için bonus puanları - Sanırım hem mp3 hem de ogg biçiminde sürümleri olan bazı şarkılarım var.

En kolay yol buysa komut satırını kullanıyorum.

    
sordu Hamish Downer 08.09.2010 21:11

8 cevap

128

Bunun için fdupes kullanıyorum. Depolardan sudo apt install fdupes ile yüklenebilen bir komut satırı programıdır. Bunu fdupes -r /dir/ect/ory gibi çağırabilir ve dupes listesini yazdıracaktır. fdupes ayrıca bir basit bir Ana Sayfa ve bir Wikipedia makalesi .

    
verilen cevap qbi 08.09.2010 21:20
58

FSlint bir GUI'ye ve diğer bazı özelliklere sahiptir. Yinelenen kontrol algoritmasının SSS'den açıklaması:

1. exclude files with unique lengths
2. handle files that are hardlinked to each other
3. exclude files with unique md5(first_4k(file))
4. exclude files with unique md5(whole file)
5. exclude files with unique sha1(whole file) (in case of md5 collisions).

fslint < img src="https://hostmar.co/software-large">

    
verilen cevap Dominik 08.09.2010 21:31
48

Çiftleri bulabilen ve programs/scripts/bash-solutions altında çalışabilen nix listesi:

  1. dupedit : Checksumming olmaksızın birçok dosyayı bir kerede karşılaştırır. Birden fazla yol aynı dosyaya işaret ettiğinde dosyaları kendileriyle karşılaştırmayı engeller.
  2. dupmerge : çeşitli platformlarda çalışır (Cygwin ile Win32 / 64, * nix, Linux vb.)
  3. dupseek : Okumaları azaltmak için optimize edilmiş algoritma ile Perl.
  4. fdf : Perl / c tabanlı ve çoğu platformda (Win32, * nix ve muhtemelen diğerleri) çalışır. MD5, SHA1 ve diğer sağlama algoritmalarını kullanır.
  5. freedups : kabuk betiği, belirttiğiniz dizinleri arar. İki özdeş dosya bulduğunda, bunları birbirine sıkı sıkıya bağlar. Şimdi iki veya daha fazla dosya kendi dizinlerinde hala var, ancak verinin sadece bir kopyası diskte saklanıyor; her iki dizin girişi de aynı veri bloklarını işaret eder.
  6. fslint : komut satırı arayüzü ve GUI var.
  7. liten : Pure Python tekilleştirme komut satırı aracı ve kitaplık, md5 sağlama toplamları ve bir roman kullanarak bayt karşılaştırma algoritması. (Linux, Mac OS X, * nix, Windows)
  8. liten2 : Orijinal Liten’in bir yeniden yazımı, hala bir komut satırı aracı ancak daha hızlı SHA-1 checksums (Linux, Mac OS X, * nix) kullanarak etkileşimli mod
  9. rdfind : Giriş parametrelerinin sırasına göre (dizinlerin taranması için) çiftleri sıralayanlardan biri. "Orijinal / iyi bilinen" kaynaklarda silmemeyi (birden fazla dizin verildiğinde) sipariş edin. MD5 veya SHA1 kullanır.
  10. rmlint : Komut satırı arayüzü ile hızlı bulucu ve diğer tüy kalemlerini bulmak için birçok seçenek (MD5 kullanır)
  11. ua : Unix / Linux komut satırı aracı, find (ve benzeri) ile çalışmak üzere tasarlanmıştır.
  12. findrepe : verimli bir arama için tasarlanmış ücretsiz Java tabanlı komut satırı aracı yinelenen dosyalardan, fincanlar ve kavanozlar içinde arama yapabilir. (GNU / Linux, Mac OS X, * nix, Windows)
  13. fdupe : Perl'de yazılmış küçük bir betik. İşini hızlı ve verimli bir şekilde yapmak 1
  14. ssdeep : Bağlamsal Tetiklemeli Pecewise Hashing'i kullanarak neredeyse aynı dosyaları tanımlayın
verilen cevap v2r 03.04.2012 03:22
6

Tekilleştirme göreviniz müzikle ilgiliyse, öncelikle müziğinizi doğru bir şekilde tanımlamak ve etiketlemek için picard uygulamasını çalıştırın. adları yanlış olsa bile .mp3 / .ogg dosyaları. Picard'ın Ubuntu paketi olarak da mevcut olduğunu unutmayın.

Bu, musicip_puid etiketine dayanarak, tüm yinelenen şarkılarınızı kolayca bulabilirsiniz.

    
verilen cevap ΤΖΩΤΖΙΟΥ 08.09.2010 23:46
4

Bu işi yapan başka bir komut, rmdupe . Yazarın sayfasından:

  

rmdupe, dosya adı veya uzantısından bağımsız olarak, çift dosyaları için belirtilen klasörler içinde arama yapmak için standart linux komutlarını kullanır. Yinelenen adaylar kaldırılmadan önce bayt-byte için karşılaştırılır. rmdupe ayrıca bir veya daha fazla referans klasörüne karşı çiftleri kontrol edebilir, dosyaları silmek yerine çöp kutusuna atayabilir, özel bir kaldırma komutu alabilir ve aramayı belirtilen boyuttaki dosyalarla sınırlayabilir. rmdupe, herhangi bir dosyayı gerçekten kaldırmadan belirli bir komut için ne yapılacağını bildiren bir simülasyon modunu içerir.

    
verilen cevap girardengo 22.04.2014 09:34
3

Denedin mi

finddup

veya

finddup -l

Sanırım iyi çalışıyor.

    
verilen cevap xerostomus 05.07.2014 06:34
2

Müzikle ilgili yinelenen tanımlama ve silme Picard ve Jaikoz tarafından İşte en iyi çözümdür. Jaikoz Müziğinizin otomatik olarak şarkı dosyasının verilerine göre etiketlendiğine inanıyorum. Şarkıyı tanımlamak ve tüm meta verileri ona atamak için şarkının ismine bile ihtiyacınız yoktur. Ücretsiz sürüm, tek seferde yalnızca sınırlı sayıda şarkıyı etiketleyebilir, ancak istediğiniz kadar çalıştırabilirsiniz.

    
verilen cevap Yathi 22.04.2014 09:47
2

komparatörünü kullanıyorum - sudo apt-get install komparator ( Ubuntu 10.04+ ) - manuel modda çiftleri bulmak için GUI aracı olarak.

    
verilen cevap N0rbert 29.12.2013 13:15

Etiketlerdeki diğer soruları oku