Andreas_k
Anmeldungsdatum: 28. Juni 2006
Beiträge: 122
|
Vielen Dank für die Antowort march. Ich hab mit dem Script http://dejant.blogspot.com/2007/07/sort-digital-photos.html glück gehabt. Das ist schon fast das was ich brauche. Die Einbindung in Thunar hab ich auch gelöst, was eigentlich nicht besonders schwer ist ☺. 3 Fragen: Die Bilder werden automatisch in den Standardordner und danach in /Jahr/Monat/ hineinkopiert. 1. Kann ich noch einen Ordner erstellen mit dem Namen Jahr-Monat-Tag Beschreibung (YYYY-MM-DD Beschreibung) 2. Kann ich bei Thunar auch eine Beschreibung übergeben? also es kann ja die Konsole aufpoppen und mich nach einer Beschreibung abfragen. 3. Wie kann ich die Bilder noch umbenennen in YYYY-MM-DD HH.Min Beschreibung.jpg Für das Umbenennen hab ich ein paar links gefunden geht mit jhead ganz gut, blos wie und wo bau ich das in das Script ein? ich weiß langsam nerve ich. wenn ich fertig bin, geb ich es auch in den Wiki Artikel zu den Benutzerdefinierten Aktionen und füge eine ausführliche Beschreibung dem script bei. vielen vielen Dank.
|
Doc_Symbiosis
Anmeldungsdatum: 11. Oktober 2006
Beiträge: 4391
Wohnort: Göttingen
|
Das mit dem Ordner erstellen sollte eigentlich gehen, wenn Du als Befehl folgendes nimmst:
mkdir ~/Bilder/$(date +%Y-%m-%d) && cp %n ~/Bilder/$(date +%Y-%m-%d) Bei Punkt zwei und drei, bin ichh mir nicht sicher was Du meinst. Wann den für eine Beschreibung? Du willst eine Beschreibung eingeben und dann die Datei entsprechend Datum + Beschreibung umbenennen?
|
Andreas_k
(Themenstarter)
Anmeldungsdatum: 28. Juni 2006
Beiträge: 122
|
Mit Beschreibung habe ich folgendes gemeint: Die gemachten Bilder zeigen Beispielsweise die Urlaubsfotos aus Prag. Wenn ich jetzt zu Beginn gefragt werde: was wird auf den Bildern gezeigt? und ich gebe Urlaub Prag ein, dann sollen die Fotos in YYYY-MM-DD HH.Min Urlaub Prag umbenannt werden und auch der Ordner in welchen die Fotos hineingeschoben werden soll die gleiche Formatierung haben. Wenn man sich dann durch die Verzeichnisse sucht, weiß man nicht nur, dass die Fotos an diesem Tag gemacht wurden, sondern auch, dass das die Urlaubsfotos aus Prag sind. Ich hoffe ich konnte mich verständlich ausdrücken. und nochmals Danke für die Hilfe. Werde am Abend wieder daran Bastelen.
|
Andreas_k
(Themenstarter)
Anmeldungsdatum: 28. Juni 2006
Beiträge: 122
|
Ich poste mal den code von der benutzerdefinierten Aktion Mir ist klar, dass das recht Unübersichtlich ist. Ich verstehe von dem code eigentlich nicht wirklich was. bis auf ein paar Bruchteile. bevor ich mich geschlagen gebe Kann mir irgendwer helfen? Ich habe bereits geschrieben, was ich noch machen will. Wie man Fotos umbenennt weiß ich mitlerweile, blos nicht, wie ich das in das script einbaue. die Übergabe einer Variable beim Kopieren wäre noch super. Vielen Dank für Hilfe Moderiert von march: Programmcode in den NoPasteService ausgelagert
|
Andreas_k
(Themenstarter)
Anmeldungsdatum: 28. Juni 2006
Beiträge: 122
|
mit diesem Befehl kann ich die Bilddateien so umbenennen wie ich das will jhead -nf"%Y-%m-%d %H.%M %i" *.jpg Wo muss ich das im script einbauen? wenn ich das ganz zum Schluss schreibe vor dem exit, und es werden Bilder in unterschiedliche Ordner kopiert, dann werden nur die Bilder in einem Ordner umbenannt.
|
Doc_Symbiosis
Anmeldungsdatum: 11. Oktober 2006
Beiträge: 4391
Wohnort: Göttingen
|
So ganz verstehe ich das Skript auch nicht. An welcher Stelle wird denn wohl die Beschreibung eingelesen, von der Du sprachst? Oder wo wird überhaupt eine Eingabe gemacht? Ich hätte eigentlich gedacht, daß das, was Du brauchst gerade mal ein Zehnzeiler ist. Mit fehlt eigentlich gerade nur noch genau die eine Sache, wie man die Eingabe hinbekommt. Aber vielleicht hab ich auch irgendwas übersehen. Wenn das mit dem zusätzlichen khead wirklich funktioniert würde ich es, glaube ich, vor dem done einfügen. Bin mir da aber auch nicht ganz sicher, da ich, wie gesagt, auch nicht so ganz ganz verstehe, was in dem Skript passiert.
|
Andreas_k
(Themenstarter)
Anmeldungsdatum: 28. Juni 2006
Beiträge: 122
|
Ich wird das ganze nochmals ansehen. Das Script ist leider nur aus dem Internet kopiert, deshalb kenne ich mich nicht so aus. Doc_Symbiosis hat ja schon vorgeschlagen, dass mit dem code zu machen mkdir ~/Bilder/$(date +%Y-%m-%d) && cp %n ~/Bilder/$(date +%Y-%m-%d) das funkt auch ganz super und vor allem das verstehe ich auch, blos mit date wird das aktuelle heutige datum genommen und nicht das datum, wann das Photo gemacht wurde. hat jemand eine Idee, wie man das Datum aus dem Foto bekommt. sonst würde mir diese Zeile schon absolut reichen, damit kann ich was anfangen. Bezüglich Beschreibung einlesen. Das hab ich auch noch nicht geschafft. vielen Dank für die Geduld. Wenn jemand eine gute Internet Seite zum bash coden hat freue ich mich natürlich auch sehr.
|
march
Anmeldungsdatum: 12. Juni 2005
Beiträge: 17337
Wohnort: /home/noise
|
|
Doc_Symbiosis
Anmeldungsdatum: 11. Oktober 2006
Beiträge: 4391
Wohnort: Göttingen
|
Kannst Du nochmal genau Schritt für Schritt beschreiben, was das Skript tun soll? Welches Datum soll z:b: der Ordner bekommen, wenn die Fotos über mehrere Tage gemacht wurden? Das vom letzten Fot oder vom ersten? Oder sollen dann auch entsprechend mehrere Ordner erstellt werden? Wenn ich Dich richtig verstehe, willst Du ein paar Dateien im markieren und im Thunar Aktion "Fotos archivieren" auswählen. Dann wird eine Beschreibung abgefragt, ein ( oder mehrere ) Ordner mit entsprechendem Datum+Beschreibung angelegt. Dann die Dateien in den ( bzw die, wenn es sich auf mehrere Tage verteilt ) Ordner mit Namen "datum+Beschreibung+dateiname" reinkopiert. Hab ich das jetze so richtig zusammen?
|
Andreas_k
(Themenstarter)
Anmeldungsdatum: 28. Juni 2006
Beiträge: 122
|
genau so hätte ich das gerne Bsp.: Speicherkarte wird angesteckt (oder USB- Stick oder was auch immer) Nautilus zeigt mir den Inhalt. Ich wähle ein Bild aus und sage BILDER EINLESEN (Benutzerdefinierte Aktion wird ausgeführt) Dann werden alle Bilder inklusive Unterordner in mein Bildverzeichnis kopiert und zwar werden die Bilder so geordnet Bilder/Jahr/Monat/YYYY-MM-DD Beschreibung/YYYY-MM-DD HR.MIN Beschreibung Index.jpg Beispiel ~/Bilder/2008/02_Februar/2008-02-07 Fussballspiel/2008-02-07 20.50 Fussballspiel 02.jpg Wenn jetzt Bilder von mehreren Tagen auf der Speicherkarte sind dann werden die in den jeweiligen Ordner kopiert, haben aber die Gleiche Beschreibung. Die Beschreibung ist das einzige, was abgefragt wird. Dadurch brauche ich nichts mehr machen, wenn ich Bilder bekomme und habe trotzdem eine gute Hierarchie. Das wäre mein Ziel. Ich hoffe es war verständlich.
|
Doc_Symbiosis
Anmeldungsdatum: 11. Oktober 2006
Beiträge: 4391
Wohnort: Göttingen
|
Du willst ein Bild auswählen und alle Bilder aus demselben Ordner kopieren? Warum wählst Du nicht den Ordner, aus dem Du die Bilder importieren willst? Außerdem noch eine wichtige Frage: Willst Du das Ganze für den Nautilus oder Thunar haben? Am Anfang schriebst Du nämlich was von Thunar und nun vom Nautilus. Ich hatte nun das Skript schon soweit fertig ( abgesehen von dem eigentlichen move Befehl und dem index), allerdings so gebastelt, daß Du verschiedene Dateien auswählst und Du dann nur diese kopierst. Wenn Du den ganzen Ordner kopieren möchtest, dann wird das Ganze ( glaube ich ) um einiges einfacher, allerdings müßte ich das Skript entsprechend umbauen. Also, nochmal: Eigentlich möchtest Du einen Ordner wählen, eine Beschreibung eingeben und dann sämtliche Dateien aus dem Ordner ( inklusive Unterordner ) rüberkopiert werden? Außerdem die Frage, ob das Ganze nicht voll automatisch laufen soll, sprich Du steckt die Speicherkarte an und das Skript wird automatisch ausgeführt. Dies ließe sich nämlich per udev so einstellen. Dann brauchst Du die ganze Kontestmenü-Sache gar nicht. Im Moment habe ich nämlich noch mit Thunar das Problem, daß beim auswählen von Dateien mit Leerzeichen diese als mehrer Parameter übergeben werden. Wie dem auch sei, hier erstmal den Code, den ich bisher habe
#!/bin/bash
my_picture_dir=/home/user/photos
#Lies die Beschreibung in Variable $desc
echo Bitte Beschreibung der Dateien eingeben:
read desc
#Für jede Datei, die als Parameter übergeben wird, tue...
for file in $* ; do
fdate=$(ls -al $file | awk {'printf $6'})
ftime=$(ls -al $file | awk {'printf $7'})
fyear=$(echo ${fdate:0:4})
fmon=$(echo ${fdate:5:2})
fday=$(echo ${fdate:8:2})
mkdir -p $my_picture_dir/$fyear/$fmon/$fdate\ "$desc"
# mv $file $my_picture_dir/$fyear/$fmon/$fdate\ "$desc"/$fdate\ $ftime\ "$desc".jpg
done Hierbei ist ein wenig unschön, daß für jede Datei versucht wird, der neue Ordner anzulegen. Wenn Du wirklich den kompletten Ordner kopieren möchtest, dann könnte man sich mit ls die Dateien gleich nach Datum sortiert ausgeben lassen, was das Ganze glaube ich vereinfachen würde.
das mkdir und mv hab ich noch nicht getstet, sollte so aber in etwa funktionieren. Wie man das mit dem Index Regeln soll ist mir noch ein wenig unklar.
|
Andreas_k
(Themenstarter)
Anmeldungsdatum: 28. Juni 2006
Beiträge: 122
|
also einmal VIELEN VIELEN DANK Das ist echt super von dir. Also ich hab das ganze mal getestet. Die Zeile fürs Kopieren (oder verschieben) hab ich auch schon angepasst.
cp $file $my_picture_dir/$fyear/$fmon/$fdate\ "$desc"/$fdate\ $ftimeh.$ftimem\ "$desc".jpg Die Probleme:
- Die Beschreibung eingeben funktioniert in der konsole aber nicht bei den Benutzerdefinierten Aktionen in Thunar. Es wird kein Terminal Fenster geöffnet und nach der Variablen gefragt. leider - Ist es auch einfach möglich aus den EXIF Informationen des Bildes das Erstellungsdatum und Zeit zu verwenden? Was ich will: - Also ich will es eigentlich über die Benutzerdefinierten Aktionen in Thunar machen. Wobei ich denke, wenn das Ganze in Thunar funktioniert, dann geht das auch im Nautilus. - wenn es auch mit udev geht, wär das natürlich noch besser. - Wenn ich Thunar verwende, dann würde ich gerne einmal nur die ausgewählten Dateien kopieren lassen und einmal alle. Bis jetzt bin ich aber noch nicht draufgekommen, wie man mehrere Bilder kopieren kann.
|
Doc_Symbiosis
Anmeldungsdatum: 11. Oktober 2006
Beiträge: 4391
Wohnort: Göttingen
|
Ah hatte ich vergessen. In thunar, ußt Du folgende Zeile eintragen
xfce4-terminal -x ~/test.sh %F hierbei mußt Du natürlich das xfce4-terminal durch ein Terminal deiner Wahl ersetzen und das test.sh durch den Skriptnamen. So sollte das Skript dann auch funktionieren, wenn Du einzelne Dateien aussuchst.
Bin damit aber gerade noch am kämpfen, da es noch Probleme gibt, falls Leerzeichen in dem Ordnernamen vorkommen. Werde in den nächsten Tagen mal meine Erfolge posten. Habe gerade noch ein paar Probleme, da es einen Bug mit der Stringverarbeitung zu geben scheint. Mit den EXIF informationen kenne ich mich leider gar nicht aus, werd mich da aber auch mal umschauen. Du kannst udev auf jeden Fall so einstellen, daß das Skript automatisch ausgeführt wird, sobald Du die Speicherkarte einsteckst, bzw. die Kamera anschließt. Hast Du eigentlich schonmal erwägt, ein bereits existierendes Programm für das Ganze zu verwenden? zumindest meinte heute ein Bekannter, daß es für die Photoverwaltung schon echt noble Programme gibt, z.B. F-Spot. EDIT: Bin gerade bei der Suche nach EXIF über folgendes gestolpert, sollte Dir mit dem Auslesen der EXIF-Informationen helfen. Es gibt das Ubuntu Paket exif, damit kannst Du üer die Kommandozeile die EXIF-Informationen auslesen. Somit sollte ich in den nächsten zwei Tagen das Skript auf jeden Fall fertig bekommen. Wie gesagt, wenn ichs fertig habe, poste ich das hier.
|
Andreas_k
(Themenstarter)
Anmeldungsdatum: 28. Juni 2006
Beiträge: 122
|
Ich bin überwältigt von so viel Hilfe und weiß eigentlich gar nicht wie ich mich gebührend bedanken kann. Es gibt gute Programme zur Bildverwaltung. Ich selbst verwende DigiKam und bin auch sehr zufrieden damit. F-spot ist auch sehr gut. Der Fotoimport funktioniert bei beiden Programmen sehr gut. Es ist blos so, dass ich keines dieser Programme verwenden möchte, - Die Programme sind nicht standardmäßig bei xfce dabei - Thunar ist eine super Sache und dar Dateimanager reicht ja anscheinend auch dafür aus, die gewünschten Dateien zu sortieren. - und vor allem. Ich richte einen PC für meine Eltern her. Die haben keine Ahnung von einem PC. Mein Vater meinte nur, ich kann einen Traktor bedienen (was ich nicht kann) da werde ich auch an einem PC Bilder ansehen können. Die Kinder haben alle eine Digitalkamera und sie sind es leid, dass sie keine Fotos mehr für's Album bekommen. Außerdem wollen sie ein wenig Internet surfen. Deshalb habe ich mich entschieden ihnen einen PC herzurichten, an dem sie das machen können, was sie wollen. Fotos ansehen, nachbestellen und Internet surfen. Ich will halt auch nicht, dass meine Eltern mit den Technischen Neuerungen auch etwas anfangen können. Obwohl der kauf eines Handys ein Reinfall war. Nichts desto trotz habe ich auf einem alten PC Xbuntu aufgesetzt und ich will Ihnen das System so einrichten, dass Sie damit umgehen können und das System das kann, was sie brauchen. Dh. Ich erkläre Ihnen wie ein Dateimanager funktioniert (Thunar). Der zeigt auch die Bilder in einer relativ großen Vorschau und wenn Sie ein Bild groß ansehen wollen, dann wird eben GQview geöffnet und das Bild ist sichtbar. Damit können Sie dann Bilder ansehen. Internet surfen erklär ich nicht, dass werden sie schnell genug rausfinden. Wenn ich ein Fotoverwaltungsprogramm erkläre, dann gibt es da viel zu viele Dinge. Darum will ich in Thunar den Fotoimport erledigen. Kommt einer der Kinder (die Meisten kennen Linux nicht) werden die gewünschten Fotos vom USB-Stick oder deiner Speicherkarte kopiert und eingeordnet. Bzw. einzelne Fotos rüberkopiert. Will nun meine Mutter sich Fotos nachbestellen, hat sie einen USB-Stick auf den die gewünschten Bilder (wieder durch ein script mit Thunar) draufkopiert werden. Sie geht entwickeln und alle sind glücklich. Darum das ganze. Außerdem will ich mich weiterbilden und ich finde das auch eine sehr gute Idee, immerhin einen Dateimanager hat man sowieso immer offen, da kann der dass einordnen doch gleich erledigen. ☺ Also nochmals vielen Dank für die Hilfe. Ich werde mir das EXIF packet auch mal ansehen.
|
Andreas_k
(Themenstarter)
Anmeldungsdatum: 28. Juni 2006
Beiträge: 122
|
Also die Skripte habens ja in sich. Einfach geil finde ich. Nachdem mir Doc_Symbiosis so ein super Skript geschrieben hat hab ich es (fast) geschafft. Also ich wollte ein skript haben, dass meine Bilder automatisch in mein Bildverzeichnis sortiert und kopiert. Das ganze sollte mit den Benutzerdefinierten Aktionen unter Thunar gehen. In Thunar gibt man bei den Benutzerdefinierten Aktionen folgendes ein:
xfce4-terminal -x ~/bin/bildkop.sh %F danach erstellt man ein shell skript bei mir unter ~/bin/bildkop.sh #!/bin/bash
my_picture_dir=/home/andreas/Bilder
#Lies die Beschreibung in Variable $desc
echo Bitte Beschreibung der Dateien eingeben:
read desc
#Für jede Datei, die als Parameter übergeben wird, tue...
counter=0
for file in $* ; do
counter=$((${counter}+1))
jhead -ft
jhead -autorot
fdate=$(ls -al $file | awk {'printf $6'})
ftime=$(ls -al $file | awk {'printf $7'})
fyear=$(echo ${fdate:0:4})
fmon=$(echo ${fdate:5:2})
fday=$(echo ${fdate:8:2})
ftimeh=$(echo ${ftime:0:2})
ftimem=$(echo ${ftime:3:2})
mkdir -p $my_picture_dir/$fyear/$fmon/$fdate\ "$desc"
cp $file $my_picture_dir/$fyear/$fmon/$fdate\ "$desc"/$fdate\ $ftimeh.$ftimem\ "$desc"" $counter".jpg
done Und jetzt habe ich noch 1 Problem und einen Ausbauwunsch Daten mit Leerzeichen werden nicht kopiert wie kann ich das beheben? alle ausgewählten Dateien werden kopiert, geht es auch, dass ich alle Bilder mit Unterordner kopiere also rekursiv? vielen Dank
|