Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : Skript zum Umbennen von Dateien gesucht



Puh-Bert
02-12-2001, 14:00
Hallo!

Da ich etwas unbedarft in Sachen Shellskripten bin brauche ich Hilfe bei folgendem Problem:
Was ich brauch ist ein Skript, dass alle Dateien in einem Verzeichnis umbenennt, und zwar so, dass die Grossbuchstaben der Namen in Kleinbuchstaben umbenannt werden, andere Namensteile (Zahlen) aber unverändert bleiben. Wie krieg ich das hin?

Danke

Puh-Bert

micha
02-12-2001, 15:43
Hallole,



#!/bin/sh

DIR="$1"

# Kein Verzeichnis angegeben
[ -z "$DIR" ] && exit 1
# Verzeichnis existiert nicht
[ ! -d "$DIR" ] && exit 1

cd $DIR

for file in $(ls -A);do
if [ $(echo $file | tr [A-Z] [a-z]) != $file ]; then
# Keine Verzeichnisse umbenennen
if [ ! -d $file ]; then
mv -v $file $(echo $file | tr [A-Z] [a-z])
fi
fi
done
exit 0


Dem Script musst Du nur das Verzeichnis als Argument mitgeben, in dem Du die Dateien ändern willst.
Wenn Du auch Verzeichnisse umbenennen willst, musst Du die zweite if-schleife im Script entfernen.

Gruß micha

Puh-Bert
03-12-2001, 19:53
Hallo micha!

Danke für Deine Antwort - allerdings hab ich noch ein kleines Problemchen mit dem Skript: Wenn ich es aufrufe
(mit Pfad) wirft die Konsole folgendes aus:
./rename.sh: [: missing `]'
Und zwar so oft wie die Anzahl der Dateien in dem Verzeichnis. Ich hab schon mehrfach das Skript auf Tippfehler meinerseits durchgesehen aber konnte nichts finden. Wo könnte der Fehler liegen?

Danke

Puh-Bert

mightymike99
03-12-2001, 20:12
script laeuft einwandfrei bei mir

...statt abtippen lieber via cut&paste in den Editor übertragen!

Gruß
Tobias

Puh-Bert
03-12-2001, 20:27
Ups!

Ja, mit cut&paste hats dann auch funktioniert .... obwohl ich schwören könnte dass keine Tippfehler drin waren/sind!

Gruss & Danke sagt:

Dumm-Bert ;-)