Ordnerstruktur rekursiv durchlaufen und auf jede Datei einen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
cs-flasher
Beiträge: 67
Registriert: 06.10.2002 15:01:34

Ordnerstruktur rekursiv durchlaufen und auf jede Datei einen

Beitrag von cs-flasher » 03.08.2011 14:36:05

Hallo!

Ich würde gerne rekursiv eine Ordnerstruktur durchlaufen die Bilder im jpg Format und zu jedem Bild eine gleichnamige Textdatei enthält. Beispiel:
001.jpg
001.txt
002.jpg
002.txt
003.jpg
003.txt
...

Die Textdatei enthält zu jedem Bild ein Kommentar, das ich gerne in die Metadaten des jeweiligen Bildes integrieren möchte. Nun habe ich mir schon den passenden Befehl für das hinzufügen herausgesucht:
wrjpgcom.exe -replace -cfile 001.txt 001.jpg > 001.jpg_new

Die rekursive Suche kann ich mit find durchführen:
find . -name .jpg -type f -exec <befehl> {}

Mir fehlt nun allerdings die Verknüpfung beider Befehle. Also irgendwie soetwas:
find . -name .jpg -type f -exec wrjpgcom.exe -replace -cfile $1.txt $1.jpg > $1.jpg_new {}

So etwas müsste auf jedes Bild in der Ordnerstruktur angewandt werden. Hat hier jemand einen Hinweis für mich?

Danke euch!

Gruß,

flasher

Benutzeravatar
TRex
Moderator
Beiträge: 8334
Registriert: 23.11.2006 12:23:54
Wohnort: KA

Re: Ordnerstruktur rekursiv durchlaufen und auf jede Datei e

Beitrag von TRex » 03.08.2011 14:53:14

Also einen Hinweis hätte ich.

Code: Alles auswählen

find . -name .jpg -type f | while read filename; do befehl $filename; done
Du musst nur das mit dem $filename ggf. aufsplitten. Ich finde das mit while read var deutlich lesbarer als die -exec Variante.
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

cs-flasher
Beiträge: 67
Registriert: 06.10.2002 15:01:34

Re: Ordnerstruktur rekursiv durchlaufen und auf jede Datei e

Beitrag von cs-flasher » 03.08.2011 23:42:24

Danke für deine Antwort, ich werde morgen mal versuchen darauf ein Script zu basteln :)

Benutzeravatar
bluelupo
Beiträge: 153
Registriert: 26.10.2004 11:15:30
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Südostbayern

Re: Ordnerstruktur rekursiv durchlaufen und auf jede Datei e

Beitrag von bluelupo » 04.08.2011 09:07:24

Hi cs-flasher,
versuch doch mit dem find-Kommando und einen EXIF-Tool das ganze zu bearbeiten. EXIF-Tools wären zB. exifcom (Paket exiftags) oder jhead.
Ciao
bluelupo

uname
Beiträge: 12419
Registriert: 03.06.2008 09:33:02

Re: Ordnerstruktur rekursiv durchlaufen und auf jede Datei e

Beitrag von uname » 04.08.2011 09:22:18

"find" macht im übrigen gerne Probleme mit der Pfadstruktur. Schau dir daher am besten mal den Parameter "--execdir" an.

Antworten