3

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

Как я могу найти имя файла изображения, которое совпадает с тем, которое я знаю?

2 ответа2

5

Сначала найдите все файлы с одинаковым размером, а затем выполните двоичное сравнение.

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
3

Используйте bgrep. Откройте известное изображение в шестнадцатеричном редакторе и скопируйте произвольный фрагмент посередине. Предположим, что чанк "21310441125161320581C113F071B122". Затем используйте bgrep для поиска в каталоге этого чанка:

bgrep 21310441125161320581C113F071B122 images_directory

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .