Hallo,
ich verwende folgenden Skript um in Dateien und Ordner die Umlaute und Sonderzeichen umzubenennen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | #!/bin/bash #Ordner find -depth -type d -execdir rename -v 's/Ä/Ae/g; s/\s/_/g; s/Ö/Oe/g; s/Ü/Ue/g; s/ä/ae/g; s/à/a/g; s/è/e/g; s/é/e/g; s/ö/oe/g; s/ü/ue/g; s/ß/ss/g; s/@/at/g; s/\?/-/g; s/\"/-/g; s/\[/-/g; s/\]/-/g; s/\302\201/ue/g; s/\302\204/ae/g; s/\302\224/oe/g; s/\201/ue/g; s/\224/oe/g; s/\204/ae/g; s/\232/Ue/g; s/\207/./g; s/\200/./g; s/�/ae/g; s/�/oe/g; s/ /_/g; s/,/_/g; s/\)/-/g; s/\(/-/g; s/\:/-/g; s/\&/und/g; s/\+/und/g; s/\x27/_/g; ' '{}' \; #Datei find . -type f -exec rename -v 's/Ä/Ae/g; s/\s/_/g; s/Ö/Oe/g; s/Ü/Ue/g; s/ä/ae/g; s/à/a/g; s/è/e/g; s/é/e/g; s/ö/oe/g; s/ü/ue/g; s/ß/ss/g; s/@/at/g; s/\?/-/g; s/\"/-/g; s/\[/-/g; s/\]/-/g; s/\302\201/ue/g; s/\302\204/ae/g; s/\302\224/oe/g; s/\201/ue/g; s/\224/oe/g; s/\204/ae/g; s/\232/Ue/g; s/\207/./g; s/\200/./g; s/�/ae/g; s/�/oe/g; s/ /_/g; s/,/_/g; s/\)/-/g; s/\(/-/g; s/\:/-/g; s/\&/und/g; s/\+/und/g; s/\x27/_/g; ' '{}' \; |
Leider wird beim umbenennen der Ordner folgende Fehlermeldung ausgegeben und die Ordner nicht umbenannt.
Fehlermeldung:
find: Fehlendes Argument für »-execdir«.
Das Umbenennen der Dateien funktioniert reibungslos.
Welchen Gedankenfelder habe ich im Skript?
Gruß Thomas