Як я можу видалити повторювані файли з окремих дерев каталогів?


10

У мене є два каталоги: old/і new/. Деякі файли в - old/це дублікати файлів у new/. Деякі мають лише те саме ім’я, а деякі навіть можуть мати однаковий зміст, але різні назви. Мене не цікавить шлях до підкаталогу до файлів, тому у відповідності потрібно враховувати лише некваліфіковане ім’я файлу.

Я хочу видалити дублікати файлів old/, щоб вони містили лише ті файли, які також не знайдені new/. У випадках, коли назви файлів збігаються, але не вміст, або навпаки, я хочу, щоб це було вказано в якомусь журналі.

Хтось стикався з подібною проблемою, або має краще рішення, ніж зламати (перл або подібний) сценарій з нуля? Час виконання, який домінує при виклику md5sumкожного файлу, прийнятний.

Відповіді:


7

Звичайно! Перевірте FSlint :

FSlint - це утиліта для пошуку та очищення різних форм обличчя у файловій системі. IE небажані або проблемні суть у ваших файлах або іменах файлів. Наприклад, одна з форм знайдених файлів - це копії файлів. Він має як графічний інтерфейс, так і режими командного рядка.

alt текст

FSlint - це безкоштовне програмне забезпечення з відкритим кодом.


Це виглядає досить близько до того, що я хочу. Дякую!
P-Nuts

8

fdupes - знаходить дублікати файлів у заданому наборі каталогів

fdupes new/ old/

-d для видалення

-Н для того, щоб не просити

fdupes -N -d new/ old/

Невже це також не знайде (та видалить) дублікати у кожному каталозі? Іншими словами, якщо новий (або старий) містить повторювані файли, які можуть бути, а можуть і не бути знайдені в межах старого, вони також будуть видалені? Я не думаю, що fdupes - це суворо інша програма, що випливає з ваших аргументів "новий" і "старий".
Stephen Niedzielski
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.