Ayrı dizin ağaçlarındaki yinelenen dosyaları nasıl kaldırabilirim?


10

İki dizinim var: old/ve new/. İçindeki dosyaların bazıları, içindeki dosyaların old/kopyaları new/. Bazıları sadece aynı ada sahiptir ve bazıları aynı içeriğe ancak farklı adlara sahip olabilir. Dosyaların alt dizin yolu ile ilgilenmiyorum, bu yüzden sadece nitelenmemiş bir dosya adı eşleşen dikkate alınması gerekir.

old/Yalnızca aynı zamanda bulunmayan dosyaları içermesi için yinelenen dosyaları kaldırmak istiyorum new/. Dosya adlarının eşleştiği, ancak içeriğin eşleşmediği veya tam tersi durumlarda, bunun bazı günlüklerde listelenmesini istiyorum.

Herkes benzer bir sorunla karşılaştı mı veya sıfırdan (perl veya benzeri) bir betiği birlikte kesmekten daha iyi bir çözüm mü buldu? md5sumHer dosya için çağrılan bir çalışma zamanı kabul edilebilir.

Yanıtlar:


7

Elbette! FSlint'e göz atın :

FSlint, bir dosya sisteminde çeşitli tiftik formlarını bulmak ve temizlemek için bir yardımcı programdır. IE dosyalarınızda veya dosya adlarınızda istenmeyen veya sorunlu bir gezinti. Örneğin, bulduğu bir tiftik biçimi yinelenen dosyalardır. Hem GUI hem de komut satırı modlarına sahiptir.

alternatif metin

FSlint ücretsiz ve açık kaynaklı bir yazılımdır.


İstediğim kadar yakın görünüyor. Teşekkürler!
P-Somunlar

8

fdupes - belirli bir dizin kümesindeki yinelenen dosyaları bulur

fdupes new/ old/

silmek için -d

-N sorma

fdupes -N -d new/ old/

Bu ayrıca her dizinde yinelenenleri bulamaz (ve silmez)? Başka bir deyişle, yeni (veya eski) eski içinde bulunabilen veya bulunamayan yinelenen dosyalar içeriyorsa, bunlar da silinir mi? Ben fdupes kesinlikle "yeni" ve "eski" argümanları ima gibi farklı bir program olduğunu sanmıyorum.
Stephen Niedzielski
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.