У меня есть ряд резервных копий (созданных вручную), содержащих дублирующуюся информацию. Есть ли какая-либо программа/скрипт/команда для итерации по структуре каталогов, выявления дубликатов файлов с помощью хэшей MD5 и последующего удаления одного из файлов?
Подойдут решения для Windows/Linux.
решение1
Лично я используюrdfindдля этого. Как упоминалось на странице по ссылке, для этого есть много других инструментов, и я перепробовал большинство из них, но rdfind имеет оптимизацию, которая сначала сканирует первые и последние несколько байтов каждого файла и вычисляет сумму MD5 только в том случае, если они идентичны, что на моих резервных копиях делает этот способ быстрее, чем все остальное, что я пробовал.
Для запрашиваемого вами использования вам нужно будет запустить
rdfind --deleteduplicates backup_a backup_b
Однако я бы рекомендовал вам запустить его с опцией -makehardlinks. Это заменит дублирующиеся файлы жесткими ссылками (предполагая, что вы храните данные в разумной файловой системе), так что каждая резервная копия будет выглядеть так же, как сейчас, но с дублирующимися данными, сохраненными только один раз.