exif auslesen,ordnen&ausgeben Ubuntu Mate

Direkte Linux-Programmierung, POSIX
Antworten
dragonfight86
Beiträge: 15
Registriert: So Feb 28, 2016 6:17 pm

exif auslesen,ordnen&ausgeben Ubuntu Mate

Beitrag von dragonfight86 » Sa Jun 18, 2016 11:33 am

Hallo liebe Community,

ich bin seid gestern im Bestitz eines Raspberry Pi 3 welcher mit Ubuntu Mate 16LTS läuft.

Folgendes Problem, ich habe etwa 300 000 Bilder auf einer Festplatte die vollkommen ungeordnet überall verteilt sind.
Meine Idee war nun einen Ein- und Ausgabeordner zu erstellen wobei im Eingabeordner die exif Dateien der Bilder ausgelesen werden, sortiert und in Ausgabeordnern abgelegt werden.

die Ordnerhierarchie sollte dann so aussehen (Jahr->Monat->Bilder des Monats)

Ich bin mir nicht sicher mit welchem Programm ich das Schreibe bzw. Sprache....wäre da Python besser als C ? (Beide sind mir noch gänzlich unbekannt)

Ablauf wäre wohl wie folgt, Script schreiben, Bashfähig machen fertig.

Vielen Dank für euer Feedback

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: exif auslesen,ordnen&ausgeben Ubuntu Mate

Beitrag von cloidnerux » Sa Jun 18, 2016 1:39 pm

Ich bin mir nicht sicher mit welchem Programm ich das Schreibe bzw. Sprache....wäre da Python besser als C ? (Beide sind mir noch gänzlich unbekannt)
Da du beide nicht kennst und die Aufgabe nicht so umfangreich ist, würde ich zu Python tendieren.
Dafür gibt es anscheinend auch schon einen exif Reader, damit sollte sich das ganze recht zügig erledigen lassen.
Redundanz macht wiederholen unnötig.
quod erat expectandum

mfro
Beiträge: 346
Registriert: Mi Jan 16, 2013 4:58 pm

Re: exif auslesen,ordnen&ausgeben Ubuntu Mate

Beitrag von mfro » Sa Jun 18, 2016 9:19 pm

Klar kann man so ein Programm schreiben.

Da haben sich aber schon andere die Mühe gemacht. Ich vermute fast, Du wirst das auf Anhieb nicht besser hinkriegen als das z.B. Shotwell schon kann. Was Shotwell selbst nicht kann, kann exiftool (mit ein bißchen Script drumrum).
It's as simple as that. And remember, Beethoven wrote his first symphony in C.

dragonfight86
Beiträge: 15
Registriert: So Feb 28, 2016 6:17 pm

Re: exif auslesen,ordnen&ausgeben Ubuntu Mate

Beitrag von dragonfight86 » So Jun 19, 2016 8:36 pm

Besser kann ich es definitiv noch nicht.

Wisst Ihr, ich mache gerade eine Ausbildung zum FIAN und habe keinen nennenswerten Vorkenntnisse. In der Schule geht es die nächsten 2 Monate noch weiter mit Basic wissen, Bezug Hardware. Ich möchte die Zeit nutzen und hab ehe das Problem das meine Frau Bilder irgendwo hin kopiert statt diese zu ordnen. Nun ja ich habe nun mitbekommen das exif Dateien Informationen speichern und diese auch ausgelesen werden können usw.
Ich möchte nicht einfach ein fertiges Programm nutzen, das hilft mir leider nicht weiter bezogen auf meine Fähigkeiten.
Ich ziehe mir nun Python rein und werde mich daran probieren, ist halt noch alles neu und da weiß man nicht so richtig wo man zuerst ansetzen soll :)

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: exif auslesen,ordnen&ausgeben Ubuntu Mate

Beitrag von Xin » So Jun 19, 2016 9:19 pm

Ich denke, Python ist da eine sinnvolle Wahl. Das Projekt ist klein und handlich und Python bietet alles notwendige.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

nouseforname
Beiträge: 236
Registriert: Do Feb 10, 2011 6:31 pm

Re: exif auslesen,ordnen&ausgeben Ubuntu Mate

Beitrag von nouseforname » Mo Jun 20, 2016 1:01 pm

Ich würde das wahrscheinlich mit bash versuchen. "Exiftool" zum Datum auslesen und der Rest ergibt sich dann.

nouseforname
Beiträge: 236
Registriert: Do Feb 10, 2011 6:31 pm

Re: exif auslesen,ordnen&ausgeben Ubuntu Mate

Beitrag von nouseforname » Do Jun 23, 2016 7:18 pm

nouseforname hat geschrieben:Ich würde das wahrscheinlich mit bash versuchen. "Exiftool" zum Datum auslesen und der Rest ergibt sich dann.
Hab das mal gemacht:

Code: Alles auswählen

#! /bin/bash

# quellpfad
SOURCE=source

# zielpfad
TARGET=target


find $SOURCE -iregex ".*\.\(jpg\|gif\|png\|jpeg\)" -print0 | while read -d $'\0' file
do
    CREATE=`exiftool -T -createdate $file`
    YEAR=`echo $CREATE | cut -f1 -d: `
    MONTH=`echo $CREATE | cut -f2 -d: `
   
    if [ $YEAR != "-" ]
    then
        mkdir -p $TARGET/$YEAR/$MONTH
        mv $file $TARGET/$YEAR/$MONTH/`basename $file`
    else
        mkdir -p $TARGET/unknown
        mv $file $TARGET/unknown/`basename $file`
    fi 
done

exit 0
Das auslesen mit exiftool dauert aber recht lange, entsprechend läuft es bei einer grossen Anzahl an Bildern wohl ne ganze Weile.

Antworten