linux_clean_raw_dir.sh
#!/bin/bash
# DESC: Skript prüft, ob JPG im Hauptordner und ARW im Ordner RAW zusammenpassen und löscht bei Bedarf.
# Standard: Dry-Run ist aktiv
do_delete=false
# Optionen verarbeiten
while getopts "r" opt; do
case $opt in
r) do_delete=true ;;
*) echo "Ungültige Option"; exit 1 ;;
esac
done
# Ins Unterverzeichnis wechseln
cd RAW || { echo "Verzeichnis RAW nicht gefunden"; exit 1; }
# Zähler für Übersicht
count=0
for raw_file in *.ARW; do
# Falls keine ARW-Dateien vorhanden sind
[ -e "$raw_file" ] || continue
base_name="${raw_file%.*}"
# Prüfen, ob das entsprechende JPG im übergeordneten Verzeichnis fehlt
if [ ! -f "../$base_name.JPG" ] && [ ! -f "../$base_name.jpg" ]; then
if [ "$do_delete" = true ]; then
echo "Lösche: $raw_file"
rm "$raw_file"
else
echo "[Dry-Run] Würde löschen: $raw_file"
fi
((count++))
fi
done
if [ "$count" -eq 0 ]; then
echo "Alles in Ordnung: Keine verwaisten ARW-Dateien gefunden."
else
echo "Vorgang abgeschlossen. Anzahl betroffener Dateien: $count"
fi
Zurück zur Übersicht