libexif / exif

A small command-line utility to show EXIF information hidden in JPEG files
GNU Lesser General Public License v2.1
56 stars 22 forks source link

[UX] Please add an `--inplace` option, and/or allow multiple tags to be specified #9

Open jnqnfe opened 2 years ago

jnqnfe commented 2 years ago

Hi. I've just used this utility for the first time today, wanting to remove a few tags from a few images.

From the man page and (limited) testing, unless I've made a mistake, it seems that you can currently only specify a single specific tag at a time, i.e. that if the -t option is specified multiple times, only the last value specified is captured and used.

Consequently, out of tiredness, I first made the basic mistake of executing exif -t=TAG --remove FILE three times per file to remove each of the tags, and of course ended up with only the last tag removed since it was writing to a separate file. I also did not notice that I could have specified more than one file each time.

Achieving the goal required of course using the -o option, either to apply the additional changed to the 'modified' copy, or to the original. Of course this restricts you to editing a single image at a time.

What would have made use of the tool much easier would be:

Achieving the latter by capturing a list rather than each subsequent use changing the targetted tag would be a significant change in behaviour, so could perhaps best be done either by introducing a new plural --tags option, or better, allowing multiple tags to be specified with a separator with -t like -t=0x010f,0x0110.

Either one of these improvements would have reduced my executions of the tool from 9 to 3, and together would allow me to have achieved the goal in just one execution (exif --remove --inplace -t=TAG1,TAG2,TAG3 FILE1 FILE2 FILE3, or exif --remove --inplace -t=TAG1,TAG2,TAG3 IMG_20211209_*.jpg).

If I had time I'd build a patch, but I don't currently, sorry.

(I'm using version 0.6.22 on Debian). Thank you for providing these awesome tools, I don't mean to come across ungrateful. :)