Sida 1 av 1
Ta bort EXIF-info rekursivt mha exiv2
Postat: 16 nov 2011, 10:59
av Quakeile
Jag skulle vilja ta bort all exif-info från alla bilder (.jpg) i en viss mapp och alla dess underkataloger.
Men jag går vilse bland alla växlar och så.
1. Vad ska jag köra för kommando?
2. Hur cronar jag upp det?
Tacksam för hjälp!

Re: Ta bort EXIF-info rekursivt mha exiv2
Postat: 16 nov 2011, 14:39
av ubot
Det här är ju ett sätt att lista filerna en i taget i katalogen inkl. underkataloger /path/to/images/:
Kod: Markera allt
for image in /path/to/images/*.jpg; do if [[ -f $image ]]; then jhead -purejpg $image; fi; done
Jag tror att det här fungerar också:
Kod: Markera allt
path='/path/to/images/subdir1 /path/to/images/subdir2/ /path/to/images/subdir3/'; for dir in $path; do jhead -purgejpg $dir*.jpg; done
Du får installera jhead först:
Dock hade det varit bättre med en lösning där du anger basktalogen och sedan stegar programmet igenom katalog efter katalog och raderar EXIF-informationen automatiskt med t.ex. jhead. Här kan du läsa mer om jehad:
http://linux.die.net/man/1/jhead -purejpg
Delete all JPEG sections that aren't necessary for rendering the image. Strips any metadata that various applications may have left in the image. A combination of the -de -dc and -du options.
Re: Ta bort EXIF-info rekursivt mha exiv2
Postat: 16 nov 2011, 19:35
av Konservburk
ubot skrev:Dock hade det varit bättre med en lösning där du anger basktalogen och sedan stegar programmet igenom katalog efter katalog och raderar EXIF-informationen automatiskt med t.ex. jhead.
Kommandot
find är lämpligt att använda i fall som detta.
Re: Ta bort EXIF-info rekursivt mha exiv2
Postat: 17 nov 2011, 08:22
av ubot
Konservburk skrev:ubot skrev:Dock hade det varit bättre med en lösning där du anger basktalogen och sedan stegar programmet igenom katalog efter katalog och raderar EXIF-informationen automatiskt med t.ex. jhead.
Kommandot
find är lämpligt att använda i fall som detta.
Nja. Det här fungerar INTE i.a.f.:
Kod: Markera allt
for i in $(find /path/to/images/ -iname '*.jpg'); do echo "$i"; done
Sökvägar som innehåller mellanslag bryts och det förstör möjligheten att använda $i med jhead. Så hur menar du att man ska använda find i.s.f? Jag har lekt lite med -print0 på slutet i find men inte riktigt fått till något bra.
Re: Ta bort EXIF-info rekursivt mha exiv2
Postat: 17 nov 2011, 09:39
av Konservburk
ubot skrev:Så hur menar du att man ska använda find i.s.f? Jag har lekt lite med -print0 på slutet i find men inte riktigt fått till något bra.
Jag menade att du ska använda
find istället för
for, dvs
find -exec (eller
find -print0 | xargs -0):
Kod: Markera allt
find /path/to/images -iregex '.*\.jpe?g' -exec jhead -purejpg {} +
Re: Ta bort EXIF-info rekursivt mha exiv2
Postat: 17 nov 2011, 16:22
av ubot
Aha. find -exec känner jag inte till.