Как я могу найти дубликат копии файла изображения?
У меня есть файл изображения, и я знаю, что есть еще одна его копия где-то в каталоге или у одного из его предков, но у него другое неизвестное имя файла, и в этом каталоге тысячи изображений.
Как я могу найти имя файла изображения, которое совпадает с тем, которое я знаю?
2 ответа
Решение
Сначала найдите все файлы с одинаковым размером, а затем выполните двоичное сравнение.
s=$(stat -c "%s" $file) #File size in bytes
for i in $(find $dir -size "${s}c"); do #by default, find expects sizes in blocks
if cmp "$i" "$file"; then
echo "$file and $i identical"
fi
done
Используйте bgrep. Откройте известное изображение в шестнадцатеричном редакторе и скопируйте произвольный фрагмент посередине. Предположим, что чанк "21310441125161320581C113F071B122". Затем используйте bgrep для поиска в каталоге этого чанка:
bgrep 21310441125161320581C113F071B122 images_directory