I want to find all .jpg files in my directory that contain a specific tag and copy them to a different directory. In particular, I am using GThumb which allows me to put tags to my photos - it stores them as a list under Keywords: exiftool -Keywords IMG_0205.JPG outputs Keywords : winter, nice_photos, my_anther_tag. And I want to find all images containing the tag "winter" and copy them to another directory. However, I found no way how to specify that I want to list file names of only those images containing the tag "winter". I tried also to use jhead, but having the same problem, or combine it with grep and then sed but it seems too complicated (as I even don't know how to at least list the file name in the same line as Keyword: winter,...).

Do you have any advice on how to do it?

1 Answer 1


It's a SMOP (Simple Matter Of Programming).

Use find and xargs (Read man find xargs) to pass a list of all the .jpg files to a bash script.

In the script, step through the list of files with the

while [[ $# -gt 0 ]] ; do
    do something with "$file"


In the "do something with "$file"" part, use exiftool to extract the property you want, test it, and move (or not) "$file", or just printf the names of qualified files.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .