danke für die Hilfe bei der Übersichtlichkeit! (Ehrlich gesagt, kommt das find von einem Codeschnippsel, den ich mir aus dem Netz entliehen habe und da er nicht störte, hab ichs drin gelassen 😛 )
Jetzt ist mir mittels echo aber noch ein Problem/Sonderfall aufgefallen. Wenn ich eine Datei in mehreren Versionen erstellt hatte, also zB
Datei1.jpg
Datei1_01.jpg
Datei1_02.jpg
und ich dann Datei1.jpg und Datei1_01.jpg gelöscht habe, dann erkennt er logischerweise auch nicht den Zusammenhang. Wie kann ich denn in der if-Abfrage zum JPG/jpg die "_0*" ignorieren lassen?
Ich bin einen Schritt weiter, indem ich die Endung .CR2 vorher noch entferne und am Ende wieder anfüge, sodass im Sonderfall hier _02 schon am Ende liegt:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #!/bin/bash cd /media/Daten/Bilder/2016/Urlaub/RAW for D in *; do find . -maxdepth 1 -mindepth 1 -type d -printf "$D\n" for file in "$D"/*.[Cc][Rr]2; do file=${file##*/} file=${file%.*} if [ -f "../JPG/${D}/${file}.JPG" ] ; then continue elif [ -f "../JPG/${D}/${file}.jpg" ] ; then continue fi if [ -f "../RAW/${D}/${file}.CR2.xmp" ] ; then continue fi rm "$D/$file.CR2" rm "$D/$file.cr2" done done |
Jetzt kann ich ihm aber in der If-Abfrage nicht verklickern, dass er _0* ignorieren soll. Da komme ich nicht weiter.
Entschuldigt die ganzen Extrawürste 😛