• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Dateinamen auf Kleinbuchstaben ändern

Hallo,

gibt es einen Befehl, mit dem ich über die Konsole alle Datei-Namen in einem Verzeichnis und seinen Unter-Verzeichnissen auf Kleinbuchstaben ändern kann?

Also aus Test.txt wird test.txt, aus TEST.TXT wird test.txt...

Danke im vorraus!
 
Code:
for i in *
do
j="`echo $i | tr '[A-Z]' '[a-z]'`"

if [ "$j" = "$i" ]
then
 continue
fi
mv "$i" "$j"
done

Ungetestet. ".." damit auch Leerzeichen in den Namen vorkommen dürfen.

Haveaniceday
 
die die von haveaniceday hat einen Fehler:

bei folgender Situation:
Code:
ab
AB

wird das original "ab" später überschrieben. -> mv --backup=t damit wird dann entsprechend eine nummerierte Backupdatei angelget.
 
Einem "Anfaenger" sollte man vielleicht erst erklären:

Um das Skript von haveaniceday auszuführen, kopiere den Code (mit der Maus nur markieren, in anderes Fenster wechseln und mittlere Maustaste drücken (oder mit STRG+c wie unter Windows versuchen)) in einen Editor (kwrite, kate (besser, aber schwieriger zu bedienen: emacs, vi)) und speichere es z.B. als "myskript".
Dann führe "chmod +x ./myskript" aus (näheres "man chmod").
Dann kannst Du das Skript mit "./myskript" ausführen.

Bitte beachte aber den Hinweis von TeXpert.

Viele weitere Hinweise auf meiner Seite

http://www.angelfire.com/linux/tux25/

Gruß
 
So, jetzt hab ich's:

Gibt es einen Befehl, mit dem ich über die Konsole alle Datei-Namen in einem Verzeichnis und seinen Unter-Verzeichnissen auf Kleinbuchstaben ändern kann?

Ja:

Code:
mmv -r ";*" "#l2"

Anmerkung: Das zwischen # und 2 ist ein "l wie Ludwig".

Beste Grüße
 
Oben