Я хочу найти в моем каталоге все файлы .jpg, содержащие определенный тег, и скопировать их в другой каталог. В частности, я использую GThumb, который позволяет мне добавлять теги к моим фотографиям - он сохраняет их в виде списка в разделе Ключевые слова: exiftool -Keywords IMG_0205.JPG
выходы
Ключевые слова: зима, nice_photos, my_anther_tag
.
И я хочу найти все изображения, содержащие тег «зима», и скопировать их в другой каталог. Однако я не нашел способа указать, что я хочу отображать имена файлов только тех изображений, которые содержат тег «зима». Я попытался также использовать jhead
, но с той же проблемой, или объединить его с grep, а затем sed, но это кажется слишком сложным (поскольку я даже не знаю, как хотя бы указать имя файла в та же строка, что и ключевое слово: зима, ...).
Есть ли у вас какие-либо советы, как это сделать?
Это SMOP (Простое программирование).
Используйте find
и xargs
(прочитайте man find xargs
), чтобы передать список всех файлов .jpg
в скрипт bash
.
В скрипте пройдитесь по списку файлов с
while [[ $# -gt 0 ]] ; do
file="$1"
shift
...
do something with "$file"
...
done
конструкцией.
В части "сделайте что-нибудь с "$file"" используйте exiftool
, чтобы извлечь нужное свойство, протестировать его и переместить (или нет) "$file" или просто printf
имена квалифицированных файлов.