Bilder unter anderer Bezeichnung speichern

Hallo zusammen,

ich lasse mir von den Kameras die Bilder in ein Unterverzeichnis auf den Rechner legen - leider finde ich die Benennung die die Kamera da vornimmt nicht so ganz gelungen, ein Beispiel:

00606E906571(Stallkamera)_1_20110504053013_34627.jpg

das ist wohl erst die Nummer der Kamera, dann die Bezeichnung, Jahr, Monat, Tag, Zeit, und eine laufende Nummerierung.

So weit so gut - aber für mich unübersichtlich.

Wie kann ich das jetzt ändern das dieses Bild zum Beispiel als:

05_30_04_05_2011_Stallkamera_347627.jpg abgelegt würde.

Also Uhrzeit ohne Sekunden, Datum, Kameraname und laufende Nummerierung.

Die laufende Nummerierung würde ich auch gerne jeweils am Monatsanfang auf Null setzen können.

Gibt es da (schon) Möglichkeiten oder muss ich warten bis es was im Bereich OpenSource gibt?

Gruß

Carlos

Hallo Carlos,
wenn du Linux verwendest (wie ich vermute :slight_smile: ), hätte ich ein passendes Script dafür. Das entfernt die MAC-Adresse am Anfang, den (Kameranamen), das 1 (bzw. das 0) und setzt den Dateinamen neu zusammen. Aus 00606E906571(Stallkamera)_1_20110504053013_34627.jpg wird dann 2011-05-04-053013_34627.jpg. Und die Datei wird in den Unterordner ./Jahr/Monat/Tag verschoben.
Aufgerufen wird das Script mit ./skb11 [Tag] (Tag = 01 … 31)
Einmal im Monat muss man die Variable sMonat dem aktuellen Monat anpassen. Die Bilder legt die Kamera im Ordner /cam01 auf dem Server ab (bei mir), danach folgen die Ordner cam01/2011/([Monat]/[Tag]… die man einmal anlegen muss.

Die laufende Nummer ist mir ziemlich egal - ein Kamera-Reset/-Neustart setzt den Zähler ja wieder auf null. Für mich ist es besser wenn nach dem Datum noch die hhmmss (Stunden-Minuten-Sekunden) im Dateinamen stehen, weil sie dann in der zeitlichen Abfolge angezeigt werden.

Hier das Script:
----------------- START - schnipp, schnapp - abbeissen -----------------------------------------
#!/bin/bash

file: skb11 (SortiereKameraBilder)

Bilder der Webcam umbenennen und ins Verzeichnis /2011/Monat/Tag verschieben

Aufruf mit ./sbk11 Tag (zweistellig 01…31)

written 2011-02-19 by Habu

#variablen
sJahr=„2011“
sMonat=„05“
sTag=$1
sBas1=„00606E77E9A4(Kamera1)0$sJahr$sMonat“
sBas2=„00606E77E9A4(Kamera1)1$sJahr$sMonat“
iCount=0

for file in ./*.jpg ; do
fname=$( basename „$file“)
fneu=${fname##$sBas1}
if [ $fname == $fneu ]
then
fneu=${fname##"$sBas2"}
fi
fTemp=${fneu##"$sTag"}
if [ $fTemp != $fneu ]
then
((iCount++))
mv $fname ./$sJahr/$sMonat/$sTag/$sJahr-$sMonat-$sTag-$fTemp
echo „$fname in Ordner /$sJahr/$sMonat/$sTag/$sJahr-$sMonat-$sTag-$fTemp verschoben.“
fi
done
echo
echo „$iCount Kamerabilder vom $sTag.$sMonat.$sJahr verarbeitet.“

----------------- ENDE - schnipp, schnapp - abbeissen -----------------------------------------

Gruss
)-( a b u

Danke!

Genau so was hab ich gesucht. Bin nur im Augenblick im Stress und kann mich leider nicht drum kümmen…

Gruß

Carlos