Hallo nonoo,
versuche folgendes:
Terminal öffnen, Befehl:
gedit convert_all.sh
Darin trägst Du folgenden Text ein:
Code: Alles auswählen
#!/bin/sh
if [ "$1" = "" ]; then
echo "Usage: $0 <folder>"
exit 1;
fi
# sort reverse to move files before folders!
find "$1" -print | sort -r | mawk '{printf "convert_one.sh \"%s\"\n", $0;}' | sh
Speichere das Ganze ab. In Deinem home sollte jetzt die Datei convert_all.sh existieren.
Nächster Befehl:
chmod 755 convert_all.sh
Danach root-Rechte holen,Befehl:
su
Nun:
cp /home/nonoo/convert_all.sh /usr/local/bin
dann
exit
Weiter mit:
gedit convert_one.sh
Darin eintragen:
Code: Alles auswählen
#!/bin/sh
FOLDER=`dirname "$*"`
SOURCE=`basename "$*"`
TARGET=`echo -n "$SOURCE" | recode iso-8859-15..utf8`
if [ "$SOURCE" != "$TARGET" ]; then
echo "FOLDER: $FOLDER"
echo "CONVERT: $SOURCE"
echo "INTO: $TARGET"
mv -- "$FOLDER/$SOURCE" "$FOLDER/$TARGET"
fi
Weiter wie mit convert_all.sh beschrieben.
Benutzung der scripte, soweit ich das überblicken kann:
Terminal auf:
cd ~/betreff.VerzeichnisinDeinemhome
danach z.B. Befehl
convert_all.sh
Habe gerade versucht, Dein Bild von imageshak zu laden,da's ewig dauert, habe ich das abgebrochen.
Beiliegend zwei scripte, welche ich benutze, um Großbuchstaben in Dateiendungen in Kleinbuchstaben umzuwandeln:
suffixboy.sh
Code: Alles auswählen
#!/bin/bash
#suffixboy
#wandelt die Dateiendung von ausgewählten Dateitypen
#von Groß- in Kleinbuchstaben um
#Benutzung:
# $ cd /Zielverzeichnis
# $ suffixboy.sh
if find *.JPG >&/dev/null
then
echo "wandle um"
for i in $(find *.JPG) ; do mv $i $(echo $i | sed 's/\.JPG/\.jpg/') 2>/dev/null ; done
echo "setze Standard-Dateirechte"
chmod 644 *.jpg
echo "zeige Verzeichnisinhalt an"
ls -lh | mawk 'NR > 1 {print $8 "\t" "Größe:" "\t" $5}'
ls -lh | mawk 'NR == 1 {print "Größe (ohne Unterverzeichnisse)" " " $1 ":" "\t" $2}'
echo "erledigt"
else
echo "Keine *.JPG zum Umwandeln gefunden"
fi ;
if find *.PNG >&/dev/null
then
echo "wandle um"
for i in $(find *.PNG) ; do mv $i $(echo $i | sed 's/\.PNG/\.png/') 2>/dev/null ; done
echo "setze Standard-Dateirechte"
chmod 644 *.png
echo "zeige Verzeichnisinhalt an"
ls -lh | mawk 'NR > 1 {print $8 "\t" "Größe:" "\t" $5}'
ls -lh | mawk 'NR == 1 {print "Größe (ohne Unterverzeichnisse)" " " $1 ":" "\t" $2}'
echo "erledigt"
else
echo "Keine *.JPG zum Umwandeln gefunden"
fi ;
if find *.DOC >&/dev/null
then
echo "wandle um"
for i in $(find *.DOC) ; do mv $i $(echo $i | sed 's/\.DOC/\.doc/') 2>/dev/null ; done
echo "setze Standarddateirechte"
chmod 644 *.doc
echo "zeige Verzeichnisinhalt an"
ls -lh | mawk 'NR > 1 {print $8 "\t" "Größe:" "\t" $5}'
ls -lh | mawk 'NR == 1 {print "Größe (ohne Unterverzeichnisse)" " " $1 ":" "\t" $2}'
echo "erledigt"
else
echo "Keine *.DOC zum Umwandeln gefunden"
fi ;
if find *.XLS >&/dev/null
then
echo "wandle um"
for i in $(find *.XLS) ; do mv $i $(echo $i | sed 's/\.XLS/\.xls/') 2>/dev/null ; done
echo "setze Standarddateirechte"
chmod 644 *.xls
echo "zeige Verzeichnisinhalt an"
ls -lh | mawk 'NR > 1 {print $8 "\t" "Größe:" "\t" $5}'
ls -lh | mawk 'NR == 1 {print "Größe (ohne Unterverzeichnisse)" " " $1 ":" "\t" $2}'
echo "erledigt"
else
echo "Keine *.XLS zum Umwandeln gefunden"
fi ;
exit 0
GJPGjpg.sh
Code: Alles auswählen
#!/bin/bash
#wandle *.JPG in*.jpg um
#benötigt mmv,zenity
cd "$(echo "$(zenity --entry --title=GJPGstart --text="Pfad zu den umzuwandelnden *.JPG")" | sed "s:~:${HOME}:")" ;
if find *.JPG >&/dev/null
then
mmv "*.JPG" "#1.jpg"
chmod 644 *.jpg
zenity --info --title=GJPGstart --text=erledigt
else
zenity --info --title=GJPGstart --text="Keine *.JPG zum Umwandeln gefunden"
fi ;
exit 0
Diese kannst Du wie oben beschrieben, bei Dir in usr/local/bin packen.
Wichtig: Überprüfe in der Paketverwaltung, ob bei Dir das Paket mawk oder gawk installiert ist. In lenny ist mawk, in etch hingegen gawk enthalten. Je nachdem muß Du in den Scripten mawk oder gawk eintragen! Infos liefert
man gawk
bzw.
man mawk
awk ist keine freie Software im Sinne von Debian, deshalb die kleine Version mawk und die große gawk. Zu awk im allgemeinen:
http://de.wikipedia.org/wiki/Awk
Viele Grüße! Uwe Pr.
[edit]: Ich sehe gerade, dass einzelne Zeilen wie umgebrochen in Code aussehen. Übertrage den Code per copy&paste.
cd "$(echo "$(zenity --entry --title=GJPGstart --text="Pfad zu den umzuwandelnden *.JPG")" | sed "s:~:${HOME}:")" ;
ist eine Zeile!