Как проверить на дубликаты файлов?

У меня есть внешний жесткий диск, на котором я несколько раз создавал резервную копию файлов. Некоторые файлы были изменены между резервными копиями, другие не были. Некоторые, возможно, были переименованы. Теперь у меня заканчивается пространство, и я хотел бы очистить дубликаты файлов.

Моя идея была к md5sum каждый файл на диске, затем ищите дубликаты, и diff соответствующие файлы (на всякий случай, ха-ха). Действительно ли это - лучший способ сделать это? Каковы некоторые другие методы проверки дубликаты файлов?

4
задан 03.11.2014, 14:19

3 ответа

Вычисления хеша MD5 каждого файла (предложенный в вопросе и ссылках из ответов), кажется, довольно "дорогой" способ решить проблему. Игнорирование фактического вычисления каждого хеша, просто чтение каждого, из чего каждый файл полностью подвергается большому количеству из, продолжают работать (чрезвычайно медленный) жесткий диск.

Мое предложение для "алгоритма" было бы чем-то, связывают это:

  • Получите точную длину каждого файла на диске (или каталог, или безотносительно). Это должно быть относительно дешево, поскольку длина, вероятно, будет сохранена в индексной части файловой системы.
  • Для каждого уникального размера файла больше чем с одним связанным файлом вычислите MD5 каждого из них и сравните значения хэш-функции для определения дубликатов. В то время как не очень вероятно, два файла с той же длиной могли хешировать к тому же значению. Если Вы не хотите рисковать ложных положительных сторон, сравнивать байт файлов байтом вместо этого или после сравнения хеша.
  • Для любого уникального размера файла у Вас нет дубликатов.
3
ответ дан 07.12.2019, 20:10

Если md5 говорит, что это - тот же файл, Вам не нужно различное. Люди решили эту проблему большое количество раз, таким образом, можно сделать то, что они сделали.

2
ответ дан 07.12.2019, 20:10

Теги

Похожие вопросы