удаляем дубликаты с помощью fdupes

Накопилось за несколько лет море фотографий, и столкнулся я с тем, что некоторые фотографии продублированы. Думал, телефон несколько раз выгрузил их на сервер, но оказалось их немало, да в разных папках и это неприятный факт, т. к. руками перелопатить миллионы фотографий — нереально... а сравнивать по содержимому процесс очень ресурсоемкий. Порывшись на просторах, нашел интересную утилитку fdupes, написал ее Андриан Лопес (Adrian Lopez), за что ему огромное спасибо. Программа сравнивает размер файла и MD5 хэш, и после сравнения начинает сверку по-байтно.

fdupes /home/user/photos

ищет дубликаты в указанном каталоге

-r — рекурсивный поиск

fdupes -r /home/user/photos > duplicate_list.txt

сохранит в файле список дубликатов

а, дальше с помощью awk отфильтруем дублирующиеся файлы для дальнейшего удаления

awk 'BEGIN{d=0} NF==0{d=0} NF>0{if(d)print;d=1}' duplicate_list.txt > delete_list.txt

а затем удаляем по списку

rm `cat delete_list.txt`

или так

xargs rm < delete_list.txt
Поделиться
Отправить
 471   2019   fdupes   linux