• Herzlich willkommen im "neuen" DSLR-Forum!

    Wir hoffen, dass Euch das neue Design und die neuen Features gefallen und Ihr Euch schnell zurechtfindet.
    Wir werden wohl alle etwas Zeit brauchen, um uns in die neue Umgebung einzuleben. Auch für uns ist das alles neu.

    Euer DSLR-Forum-Team

  • In eigener Sache!

    Liebe Mitglieder, liebe Besucher und Gäste
    ich weiß, es ist ein leidiges Thema, aber ich muss es ansprechen: Werbung, Werbeblocker und Finanzierung des Forums.
    Bitte hier weiterlesen ...

  • DSLR-Forum Fotowettbewerb neu erfunden!
    Nach wochenlanger intensiver Arbeit an der Erneuerung des Formates unseres internen Fotowettbewerbes ist es Frosty als Moderator
    und au lait als Programmierer gelungen, unseren Wettbewerb auf ein völlig neues Level zu heben!
    Lest hier alle Infos zum DSLR-Forum Fotowettbewerb 2.0
    Einen voll funktionsfähigen Demowettbewerb kannst du dir hier ansehen.
  • Neuer Partner: AkkuShop.de
    Akkus, Ladegeräte und mehr (nicht nur) für Digitalkameras und Drohnen
  • Neuer Gutscheincode unseres Partners Schutzfolien24:
    DSLR-Forum2024
    Dauerhaft 10% Rabatt auf alle Displayschutzfolien der Eigenmarken "Upscreen", "Brotec", "Savvies".
    Der Code ist für alle Geräteklassen gültig.
  • Mitmachen beim DSLR-Forum Fotowettbewerb Juni 2024.
    Thema: "Wiederholung"

    Jeden Monat attraktive Gewinnprämien, gesponsert von unserem Partner PixelfotoExpress.
    Alle Infos zum Juni-Wettbewerb hier!
WERBUNG

Löschung eines RAW / Jpeg Paares

tropi

Themenersteller
Hallo,
mit meiner Spiegelreflexkamera erzeuge ich mit einer Aufnahme immer (gemäß meiner individuellen Einstellung) eine RAW- und eine Jpeg-Datei.
Diese speichere ich getrennt ab, um z.B. die Jepgs in meinen Bibble5-Katalog nicht importieren zu müssen. Nach der ersten Begutachtung meiner RAW-Dateien werden doch einige RAWs gelöscht.

Wie kann ich die einem anderen Ordner befindliche Jepg-Datei ebenfalls löschen? Also quasi mit dem RAW-Verzeichnis "synchronisieren"?

Hat jemand bereits hierfür ein auf Linux ablauffähiges Script geschrieben bzw. gibt es bereits ein Tool welches diese Aufgabe erfüllt?

mfg
Klaus
 
Kommt drauf an, magst du die Shell benutzen?
Könnte man ein kleines Shellscript schreiben und statt rm benutzen, dann würde es halt den Dateinamen als Variable hernehmen und gleichzeitig in Ordner 2 rm $Dateiname.* durchführen.
 
Hallo,
Kommt drauf an, magst du die Shell benutzen?
Ja, kein Problem.
Könnte man ein kleines Shellscript schreiben und statt rm benutzen, dann würde es halt den Dateinamen als Variable hernehmen und gleichzeitig in Ordner 2 rm $Dateiname.* durchführen.
Bin mit dem Variablen in Scripts noch nicht so ganz fit.
Die Aufgabenstellung ist aber eine andere:
Die Jepg's, deren RAW-Pedant gelöscht wurde, sollen gelöscht werden.
D.h. vom Jpeg-Ordner müßte man man
- eine Liste aller Jpeg-Dateien erstellen ( mit ls *.jpg > Jpg.txt )
- nachschaeun gibt es eine passende RAW-Datei hierfür
- wenn ja, nichts machen
- wenn nein, löschen

So meine Vorstellung. Ein bißchen (aber wirklich nur ein bißchen) kenne ich mich Scripts aus. Aber so ein Script zu erstellen habe ich noch Probleme.
Man müßte eine Datei (hier Jpg.txt genannt) bearbeiten können.
Erstellen kann ich sie, aber die Zeilen vergleichen und dann mit einer Wenn-Abfrage entweder löschen bzw. ein "rm" vorsetzen kann ich aus syntaktischen Gründen noch nicht.

Vielleicht kann mir jemand auf die Sprünge helfen.

mfg
Klaus
 
Ich habe hier so was ;)
Vorwort zu meinem Workflow: Ich verkleinere alle jpgs per batch und schreibe sie in ein Unterverzeichnis (automatisch mit Name = "Länge der längsten Kante"). die Orginaljpgs bleiben unangetastet. Die Raws kommen ebenfalls in ein Unterverzeichnis

Für ein Hauptverzeichnis sieht meine Struktur wie folgt aus:
Code:
2010                 (Jahresverzeichnis)
+-- 07               (Monatsverzeichnis)
    +-- 2010-07-16   (Tagesverzeichnis mit originalen jpg, "Hauptverzeichnis")
        +---- 900    (verkleinerte Bilder - 900px Kantenlänge)
        +---- raw    (raws)
Ich gehe zuerst dann in der schnellen Voransicht im Vollbildmodus mittels gwenview o.ä über die verkleinerten Bilder und lösche alles, was unscharf etc. ist.
Anschließend kommt das Script zum Einsatz:
Aufruf des Scriptes mit 'script 900'
Code:
#!/bin/sh
# Aufruf mit Namen des "Mini-Uterverzeichnisses
start_time=`date +%T`

# gibt es ein Verzeichnis mit verkleinerten Bildern?
if (test -e $1);
then
  # ja
  if (! test -e del);
  then
    ## ggf das zugehoerige Loschverzeichnis anlegen
    mkdir del
  fi
  all_files="`ls *.jpg | wc -w`"
  echo "-------------------------------------------------------------------------------------"
  echo "-------------------------------------------------------------------------------------"
  echo "Abgleichen der Dateien im Basisverzeihnis mit dem Verzeichnis $1"
  echo "          $all_files Dateien sind zu bearbeiten."
  echo "-------------------------------------------------------------------------------------"
  echo "-------------------------------------------------------------------------------------"
  count_files=1
  for file in *.jpg; do
    if (! test -e $1/$file);
    then
      # es gibt keine Datei im Unterverzeichnis der verkleinerten Bilder
      # Datei verschieben
      mv $file del
      echo "Datei $file verschoben"
    fi
  done
else
  # keine verkleinerten Bilder gefunden
  echo "Das Verzeichnis $1 existiert nicht"
fi
if (test -e raw);
then
  if (! test -e raw/del);
  then
    cd raw
    mkdir del
    cd ..
  fi
  all_files="`ls raw/*.cr2 | wc -w`"
  echo "-------------------------------------------------------------------------------------"
  echo "-------------------------------------------------------------------------------------"
  echo "Abgleichen der Dateien im Basisverzeihnis mit dem Verzeichnis raw"
  echo "          $all_files Dateien sind zu bearbeiten."
  echo "-------------------------------------------------------------------------------------"
  echo "-------------------------------------------------------------------------------------"
  count_files=1

  for file in raw/*.cr2; do
    rawfile=`basename $file .cr2`.jpg
    if  (! test -e $rawfile);
    then
      mv $file raw/del
      echo "Datei $file verschoben"
    fi
  done
fi
echo "Dauer gesamt von $start_time bis `date +%T`"
echo "-------------------------------------------------------------------------------------"
echo "-------------------------------------------------------------------------------------"

Löscht (resp. verschiebt in ein neues Unterverzeichnis "del") alle Bilder im "Stammverzeichnis", die kein Bild gleichen Dateinamens in den verkleinerten Bilder haben

Anschließend dasselbe noch mal für die RAWs, die werden dann gegen das Hauptverzeichnis abgeglichen.


Es arbeitet also non-destruktiv, da nur verschoben wird - löschen kann man dann selber ;)
 
Zuletzt bearbeitet:
WERBUNG
Zurück
Oben Unten