• 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

Anfaenger

Newbie
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
 

TeXpert

Guru
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.
 

abgdf

Guru
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ß
 

abgdf

Guru
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