Hi
Ich brauche für nen Script eine Umbennennung von Dateien. Jedoch hab ich leider keine Ahnung wie ich Sachen von Strings abziehe also in etwas so (i ist meine Stringvariable):
mv $i $i - .tga.jpeg +.jpeg
Danke schonmal für die Hilfe.
Gruß
sxfreak
![]() Anmeldungsdatum: Beiträge: 436 |
Hi Ich brauche für nen Script eine Umbennennung von Dateien. Jedoch hab ich leider keine Ahnung wie ich Sachen von Strings abziehe also in etwas so (i ist meine Stringvariable): mv $i $i - .tga.jpeg +.jpeg Danke schonmal für die Hilfe. Gruß sxfreak |
![]() Anmeldungsdatum: Beiträge: 17457 |
Hallo, for i in *.php; do mv "$i" "${i/.php}".php5; done
|
(Themenstarter)
![]() Anmeldungsdatum: Beiträge: 436 |
Hi Also mein script schaut jetzt so aus: #!/bin/sh for i in $(ls *.tga.jpeg) do mv $i ${i/tga.jpeg}.jpeg done Er gibt jedoch immer nur: sx@kubuntu:~/Desktop$ sh rn 1.tga.jpeg rn: 5: Syntax error: Bad substitution aus. |
![]() Anmeldungsdatum: Beiträge: 5632 |
FÜhre das Skript mit der bash und nicht mit sh (dash) aus. |
(Themenstarter)
![]() Anmeldungsdatum: Beiträge: 436 |
Juhu es tut vielen dank. 😉 Jetzt hab ich aber ne weitere Frage: Ich hab in nem Dateinamen mehrere Informationen und die will ich jetzt rausnehmen und neu anordnen. Wie mach ich das dann? Ich hab das wegschneiden der anderen Sachen schon mit Wildcards versucht hat aber nich geklappt. mv $i "Screenshot vom $(WoWScreenShot_??/i/??_??????.jpeg).$(WoWScreenShot_/i/????_??????.jpeg).20$(WoWScreenShot_????/i/_??????.jpeg) um $(WoWScreenShot_??????_/i/????.jpeg):$(WoWScreenShot_??????_??/i/??.jpeg) $(WoWScreenShot_??????_????/i/.jpeg).jpeg" Ach ja, beim Dateinamen bleibt die Buchstabenanzahl gleich. Nach vielem hin und her hab ichs endlich geschafft aber jetzt hab ich schon wieder nen neues Problem: #!/bin/bash for i in *.{jpeg,jpg}; do month=$(expr substr $i 19 2) day=$(expr substr $i 16 2) year=$(expr substr $i 24 2) hour=$(expr substr $i 30 2) minute=$(expr substr $i 33 2) second=$(expr substr $i 36 2) mv $i "WoWScrnShot_$month$day$year_$hour$minute$second.jpeg" done Der Script soll "Screenshot vom 10.04.2005 um 17:33:12.jpeg" in "WoWScrnShot_041005_173312.jpeg" umwandeln. Jedoch meint er immer: sx@kubuntu:~/Desktop/JPEG$ bash ../back expr: Syntaxfehler expr: Syntaxfehler expr: Syntaxfehler expr: Syntaxfehler expr: Syntaxfehler expr: Syntaxfehler mv: angegebenes Ziel „WoWScrnShot_.jpeg“ ist kein Verzeichnis |
Ehemalige
![]() Anmeldungsdatum: Beiträge: 4694 Wohnort: Berlin |
In Deinem $i sind Leerzeichen enthalten, dann musst Du die Variable in doppelte Anführungszeichen setzen wenn Du sie als Argument bei Programmaufrufen benutzt. Sonst werden aus den einzelnen "Worten" auch einzelne Argumente. |
(Themenstarter)
![]() Anmeldungsdatum: Beiträge: 436 |
Vielen Dank. 😉 |