Moin Meteorkamera-User!
Nach den Scripten zur Fireball-Animationserstellung und zur Umwandlung der mp4-Filmchen in ein gif haben ChatGPT und ich soeben ein weiteres Script für meine kleine Sammlung erstellt.
Die Meteorkamera spuckt die Dateien im folgenden Format aus:
Für (gestackte) Standbilder:
FF_DE000M_20231204_045051_969_1177600.fits Fr 226 - 229_detected_only.jpg
für Fireballs:
FR_DE000M_20231204_033624_020_1065984_line_00.gif
Ich habe die Dateien f.d. Upload bisher händisch umbenannt in z.B. "Meteor_20231204_055051.jpg" - den Zeitstempel habe ich dabei von UTC in MEZ bzw. MESZ umgewandelt.
Das habe ich mit diesem Script automatisiert.
Das Script macht folgendes:
1) es fragt nach dem Dateipfad, in dem sich die Meteorbilder befinden
2) es erstellt einen Unterordner "renamed"
3) es entfernt den Stationsnamen (in meinem Fall "DE000M") und ersetzt ihn durch das Wort "Meteor"
4) es extrahiert den im Dateinamen enthaltenen UTC Zeitstempel und wandelt ihn in MEZ bzw. MESZ um
5) es entfernt alle Dateinamen-Bestandteile hinter dem Zeitstempel
6) es kopiert die umgewandelten Dateien in das Verzeichnis "renamed"
#!/bin/bash
read -p "Bitte geben Sie den Quellpfad ein: " sourceDir
targetDir="$sourceDir/renamed"
searchString1="FF_DE000M"
searchString2="FR_DE000M"
replaceString="Meteor"
mkdir -p "$targetDir"
for file in "$sourceDir"/"$searchString1"* "$sourceDir"/"$searchString2"*; do
filename=$(basename "$file")
extension="${filename##*.}"
# Extract date and time from the filename after "FF_DE000M_" or "FR_DE000M_"
datetime=$(echo "$filename" | grep -oP "(?<=${searchString1}_|${searchString2}_)\d{8}_\d{6}")
if [ -n "$datetime" ]; then
# Extract date and time components
date_part="${datetime:0:4}-${datetime:4:2}-${datetime:6:2}"
time_part="${datetime:9:2}:${datetime:11:2}:${datetime:13:2}"
# Convert date and time to local time
converted_datetime=$(date -d "$date_part $time_part UTC" +"%Y%m%d_%H%M%S" 2>/dev/null)
if [ -n "$converted_datetime" ]; then
# Rename the file
new_filename="Meteor_${converted_datetime}.${extension}"
cp "$file" "$targetDir/$new_filename"
else
echo "Fehler bei der Konvertierung des Zeitstempels für $file."
fi
else
echo "Fehler beim Extrahieren des Zeitstempels für $file."
fi
done
Alles anzeigen
CS, Jochen