Puh:Überraschung,alles sah so schön aus:
Code: Alles auswählen
uwe@debian-uwe:~/Pic$ ls
100_0550.JPG 100_1864.JPG 100_1908A.JPG Alpspitze.PNG Performancetest
uwe@debian-uwe:~/Pic$ ls | sed 's/\.JPG/\.jpg/'
100_0550.jpg
100_1864.jpg
100_1908A.jpg
Alpspitze.PNG
Performancetest
uwe@debian-uwe:~/Pic$ ls
100_0550.JPG 100_1864.JPG 100_1908A.JPG Alpspitze.PNG Performancetest
uwe@debian-uwe:~/Pic$ ls | sed 's/JPG/jpg/'
100_0550.jpg
100_1864.jpg
100_1908A.jpg
Alpspitze.PNG
Performancetest
uwe@debian-uwe:~/Pic$ ls
100_0550.JPG 100_1864.JPG 100_1908A.JPG Alpspitze.PNG Performancetest
uwe@debian-uwe:~/Pic$
Hallo Matthias,was sagst Du dazu?Nachdem ich mich jetzt eine Stunde mit dem s-Befehl in sed beschäftigt habe,bin ich dahintergekommen,dass sed die durch ls gelieferten Textzeilen sehr wohl bearbeitet,aber deshalb noch lange nicht die Dateien umbenennt.Wenn ich den String JPG einfach durch jpg ersetzen lasse,kann ich mir auch den Backslash ersparen,es löst aber nicht meine Aufgabe.
@Pendevil:An mmv scheint doch kein Weg daran vorbeizuführen.Ich wollte lieber mit standardmäßig installierten Paketen auskommen,aber mmv ist so klein und dabei echt stark
Irgendwie muß ich das geahnt haben:das script sollte von Anfang an suffixboy heißen und da habe ich erstmal mmv eingetragen.....Inzwischen habe ich auch mit über 200 Dateien in einem Rutsch getestet:trotz cd machen und suffixboy eintippen geht das immer noch schneller als mit thunar
Deshalb wäre ich jetzt an einer Unterdrückung der mmv-Meldungen noch mehr interessiert.Gibt es da noch einen Trick?
Viele Grüße!Uwe Pr.
edit:Nu hab ich's gepackt:
Code: Alles auswählen
uwe@debian-uwe:~$ cd ~/Pic
uwe@debian-uwe:~/Pic$ for i in $(ls) ; do mv $i $(echo $i | sed 's/\.JPG/\.jpg/') 2>/dev/null ; done
uwe@debian-uwe:~/Pic$ ls
100_0550.jpg 100_1864.jpg 100_1908A.jpg Alpspitze.PNG Performancetest
uwe@debian-uwe:~/Pic$ for i in $(ls) ; do mv $i $(echo $i | sed 's/\.JPG/\.jpg/') 2>/dev/null ; done
uwe@debian-uwe:~/Pic$
Keine Fehlermeldung und ich glaube auch idiotensicher.
Da hat sich's also doch noch gelohnt,sich mit sed auseinanderzusetzen.
Und so sieht meine Lösung nun aus (*.JPG,*.PNG u.s.w. werden standardmäßig 600 zugewiesen):
Code: Alles auswählen
#!/bin/bash
#suffixboy
#wandelt die Dateiendung von ausgewählten Dateitypen
#von Groß- in Kleinbuchstaben um
#Benutzung:
# $ cd /Zielverzeichnis
# $ suffixboy
echo "wandle um" ;
for i in $(ls) ; do mv $i $(echo $i | sed 's/\.JPG/\.jpg/') 2>/dev/null ; done ;
for i in $(ls) ; do mv $i $(echo $i | sed 's/\.PNG/\.png/') 2>/dev/null ; done ;
for i in $(ls) ; do mv $i $(echo $i | sed 's/\.DOC/\.doc/') 2>/dev/null ; done ;
for i in $(ls) ; do mv $i $(echo $i | sed 's/\.XLS/\.xls/') 2>/dev/null ; done ;
echo "setze Standard-Dateirechte" ;
chmod 644 *.jpg ;
chmod 644 *.png ;
chmod 644 *.doc ;
chmod 644 *.xls ;
echo "gibt's hier etwa keine jpg,png,doc oder xls?" ;
echo "Schau nach!" ;
ls -lh ;
echo "erledigt"
wirft aus:
Code: Alles auswählen
uwe@debian-uwe:~/Pic$ ~/suffixboy
wandle um
setze Standard-Dateirechte
chmod: Zugriff auf „*.doc“ nicht möglich: Datei oder Verzeichnis nicht gefunden
chmod: Zugriff auf „*.xls“ nicht möglich: Datei oder Verzeichnis nicht gefunden
gibt's hier etwa keine jpg,png,doc oder xls?
Schau nach!
insgesamt 13M
-rw-r--r-- 1 uwe uwe 1,6M 2007-06-24 12:14 100_0550.jpg
-rw-r--r-- 1 uwe uwe 2,2M 2007-06-24 12:14 100_1864.jpg
-rw-r--r-- 1 uwe uwe 1,8M 2007-06-24 12:14 100_1908A.jpg
-rw-r--r-- 1 uwe uwe 6,8M 2007-06-24 12:23 Alpspitze.png
drwxr-xr-x 2 uwe uwe 7,3K 2007-06-26 15:10 Performancetest
erledigt
uwe@debian-uwe:~/Pic$