ds-findbytags

Версия:2.0.2
Интерфейс:CLI, GTK+ 2
Язык:C, Perl
Зависимости:Exiv2, libxml2-dev, Perl, GTK2-Perl
Автор:Дмитрий Соколов
Лицензия:GNU GPL v3

Программа (в двух версиях — на C и на Perl) ищет в указанных каталогах изображения с ключевыми словами (тэгами), заданными в метаданных XMP или IPTC и удовлетворяющими заданным логическим условиям И, ИЛИ, НЕ. Опционально найденные изображения откроются в указанной программе. Попутно в найденных изображениях можно массово добавить, удалить или заменить тэги, сохранить ссылки на эти изображения в указанный каталог с оригинальными или случайными именами.

ds-findbytags

Синтаксис

ds-findbytags [-h] [-g] [-k] [-t путь_к_файлу_тэгов] [-e кодировка] [-a "тэг, тэг, …"] [-o "тэг, тэг, …"] [-n "тэг, тэг, …"] [-i "тэг, тэг, …"] [-d "тэг, тэг, …"] [-c "тэг, тэг, [тэг, тэг], …"] [-l просмотрщик] [-s путь_к_сохраняемым_ссылкам] путь(-и)_где_искать

Ключи

-h (от help) Показать информацию о программе и синтаксисе её запуска и выйти из неё.
-g (от GUI) При наличии ключа скрипт запускается в GTK-интерфейсе вместо CLI-интерфейса.
-k (от keep) При наличии ключа ссылки именуются по именам найденных файлов, при отсутствии ключа ссылки именуются случайным набором символов.
-t (от tags) Путь к XML-файлу с деревом тэгов в формате Geeqie (по умолчанию — $HOME/.config/geeqie/geeqierc.xml). Всё, не относящееся в этом файле к тэгам, игнорируется. Если неверен, дерево тэгов не показывается. Тэги из дерева добавляются перетаскиванием в нужное поле или, при двойным клике правой кнопкой мыши, в поле «И».
-e (от encoding) Кодировка XML-файла тэгов в формате Geeqie (по умолчанию — * — автоопределение с помощью enca).
-a (от and) При соответствии каждому из списка тэгов.
-o (от or) При соответствии любому из списка тэгов.
-n (от not) За исключением любого из списка тэгов.
-i (от insert) Добавить тэги в найденные файлы.
-d (от delete) Удалить тэги из найденных файлов.
-c (от change) Заменить тэги в найденных файлах.
-l (от look) Программа, в которой открывается каталог с найденными изображениями; по умолчанию — Geeqie. Если не нужно открывать его вообще, значение ключа должно быть no.
-s (от save) Каталог (абсолютный путь), в котором сохраняются ссылки на найденное после окончания работы скрипта; если ключ не указан, создаётся временный каталог по месту запуска скрипта, который после окончания его работы удаляется.

Пример

$ ds-findbytags -g -k -t "~/.config/geeqie/geeqierc.xml" -a "море, серые тучки, камни" -o "чайки, дельфины" -n "акулы, люди" -i "ах" -d "море" -c "чайки, птички" -l "no" -s "~/chosen" ~/photos1 ~/photos2