Сортировка и организация огромной кучи фотографий

У меня есть 168307 jpg фотографий в одной папке – результат восстановления с случайно отформатированного жесткого диска. Повседневный просмотр показывает, что 80% файлов были восстановлены в порядке, у большинства даже есть действительные данные EXIF ​​(включая timestamp), некоторые частично восстановлены (часть изображения отсутствует, но все еще пригодна для использования), некоторые из них абсолютно бесполезны (большинство изображений не было восстановлены). Все файлы имеют случайные числовые имена, и все они имеют одинаковые дату и время в файловой системе.

Поэтому они непригодны для использования. Я хочу сделать следующее:

  • создать набор миниатюр для просмотра вручную через них и довольно быстро удалить файлы, которые бесполезны,
  • используя сохраненные теги EXIF, чтобы автоматически сортировать оставшиеся изображения в аккуратное дерево папок (год / месяц / день / фото, например, структура – или набор папок с YYYY-MM-DD в качестве имени файла).

Какие инструменты вы бы порекомендовали для такой задачи? Должен ли я попробовать что-то вроде digikam для первой части и некоторых инструментов командной строки для второго?

Вы можете создавать эскизы с помощью imagemagick, который является инструментом командной строки, поэтому вы просто пишете скрипт bash для обработки набора. Вот пример: http://www.cyberciti.biz/tips/howto-linux-creating-a-image-thumbnails-from-shell-prompt.html или использовать mogrify . Еще одна альтернатива в комментариях к ссылке cyberciti заключается в том, чтобы написать сценарий bash самостоятельно без imagemagick для создания еще меньших файлов (см. Комментарий там Тимом).

Аналогично, вы можете организовать их с помощью даты exif shot в bash. Вот сценарий для этого: http://binaryunit.blogspot.com/2007/11/just-simple-script-to-order-your.html В комментариях есть вариант, который также переименует их.

Я использовал сценарии bash с imagemagick перед переименованием и изменением фотографий раньше для публикации в Интернете, но не там, где у вас так много, это займет некоторое время. Тем не менее, инструмент командной строки будет быстрее и использовать меньше ресурсов, чем другие решения; быстрее выполнять работу и позволять вам делать другие вещи, пока они обрабатывают. Если бы вы захотели, вы могли бы даже объединить два процесса, чтобы вам не приходилось прикасаться к ним, пока это не будет сделано.

Я настоятельно рекомендую протестировать любой скрипт на нескольких десятках изображений, прежде чем запускать его на всех 168K. Вы также должны сделать резервную копию своих необработанных данных, чтобы не заканчивать только, чтобы найти, что вы сделали что-то неправильно и уничтожили свои оригиналы.

Затем вы можете обрабатывать их в любом программном обеспечении для управления фотографиями или просто просматривать папки / файлы в диспетчере файлов gui.