On Fri 23 Sep 2022 at 16:14:43 (+0200), Emanuel Berg wrote: > David Wright wrote: > >> exif(1) which says on line 57 that --remove > >> > >> Remove the tag or (if no tag is specified) the entire IFD. > >> > >> Only if it does, why is it there the next time to be removed > >> as well? > > > > Have you tried it? > > Yes, see the first post runs, they show that the same result > is obtained from running the same supposedly remove command on > the same files, 1, 2, and it would seem n number of times.
I made an error in my testing, in that I think I used a (published) stripped jpeg for the same-filename test. Using a photograph from my own archives shows that --remove is stripping the IFD and -o foo foo is overwriting the original file, though I don't know what its mechanism is (one hopes it makes safeguards). > No, in that case I would have .modified. img files over the > whole disk. Yes, that would seem to be correct. > > It's up to you to overwrite the original. > > You mean don't use the -o, or use the -o to point to a new > file, and then manually overwrite the old file with the > new one? To be honest, I don't use exif but exifprobe -L, and I wouldn't want to make modifications without keeping modified copies in a separate tree (I've done this for lower resolution publication on web pages). I can see why you might be doing the same sort of thing (perhaps for tree-houses?). BTW exif can't read photos off a Samsung Gusto2 mobile. > re: exif I don't know why processing happens again if the > material has already been removed. It wouldn't be the first filter program to behave in this way. > The '-o' shouldn't > matter since step one should be "is the material present?" and > if it isn't, nothing should be outputted. It should just say > "this file is already OK". That would be asking a filter program to treat the construction --remove -o foo foo as a unique case, where it conditionally doesn't write an output file. Anyway, here's a test on an old photograph of mine: $ exif 2005-05-24-18-20-44.jpg EXIF tags in '2005-05-24-18-20-44.jpg' ('Intel' byte order): --------------------+---------------------------------------------------------- Tag |Value --------------------+---------------------------------------------------------- Image Description |000001 Manufacturer |FUJIFILM Model |DS-300 Orientation |Top-left X-Resolution |72 Y-Resolution |72 Resolution Unit |Inch White Point |0.3127, 0.3290 Primary Chromaticiti|0.640, 0.330, 0.300, 0.600, 0.150, 0.060 YCbCr Coefficients |0.299, 0.587, 0.114 YCbCr Positioning |Co-sited Reference Black/Whit| 0, 255, 128, 255, 128, 255 Exif Version |Exif Version 1.1 Date and Time (Origi|2005:05:24 18:20:43 Components Configura|Y Cb Cr - Compressed Bits per | 2 Shutter Speed |6.50 EV (1/91 sec.) Aperture |3.50 EV (f/3.4) FlashPixVersion |FlashPix Version 1.0 Color Space |Uncalibrated --------------------+---------------------------------------------------------- $ exif --remove -o 2005-05-24-18-20-44.jpg 2005-05-24-18-20-44.jpg Wrote file '2005-05-24-18-20-44.jpg'. $ exif 2005-05-24-18-20-44.jpg EXIF tags in '2005-05-24-18-20-44.jpg' ('Intel' byte order): --------------------+---------------------------------------------------------- Tag |Value --------------------+---------------------------------------------------------- X-Resolution |72 Y-Resolution |72 Resolution Unit |Inch Exif Version |Exif Version 2.1 FlashPixVersion |FlashPix Version 1.0 Color Space |Uncalibrated --------------------+---------------------------------------------------------- $ exif --remove -o 2005-05-24-18-20-44.jpg 2005-05-24-18-20-44.jpg Wrote file '2005-05-24-18-20-44.jpg'. $ exif 2005-05-24-18-20-44.jpg EXIF tags in '2005-05-24-18-20-44.jpg' ('Intel' byte order): --------------------+---------------------------------------------------------- Tag |Value --------------------+---------------------------------------------------------- X-Resolution |72 Y-Resolution |72 Resolution Unit |Inch Exif Version |Exif Version 2.1 FlashPixVersion |FlashPix Version 1.0 Color Space |Uncalibrated --------------------+---------------------------------------------------------- $ … idempotent ad infinitum. Cheers, David.