Am 20.05.2022 bekommt das Forum ein neues Update. Ab ca. 12:00 ist das Forum nicht mehr erreichbar und wird spätestens am 21.05. wieder online sein. Alle bis dahin erstellten Daten bleiben natürlich erhalten.

Vielen Dank für euer Verständnis. Bei Rückfragen: webmaster@linux-club.de (Christian)

Dateinamen auf Kleinbuchstaben ändern

Alles rund um die verschiedenen Konsolen und shells sowie die Programmierung unter Linux

Moderator: Moderatoren

Antworten
Anfaenger
Newbie
Newbie
Beiträge: 13
Registriert: 15. Jan 2006, 20:05
Kontaktdaten:

Dateinamen auf Kleinbuchstaben ändern

Beitrag von Anfaenger »

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!
abgdf
Guru
Guru
Beiträge: 3449
Registriert: 13. Apr 2004, 21:15

Beitrag von abgdf »

Klingt nach einem Fall für "mmv" (man mmv).

Dessen Syntax ist aber nicht gerade leicht ...
Benutzeravatar
haveaniceday
Hacker
Hacker
Beiträge: 775
Registriert: 7. Jul 2004, 14:09
Wohnort: Paderborn

Beitrag von haveaniceday »

Code: Alles auswählen

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
The gates in my computer are AND,OR and NOT, not Bill.
Wer lesen kann und dann noch die Suche bedienen kann ist klar im Vorteil 8)
Benutzeravatar
TeXpert
Guru
Guru
Beiträge: 2166
Registriert: 17. Jan 2005, 11:22

Beitrag von TeXpert »

die die von haveaniceday hat einen Fehler:

bei folgender Situation:

Code: Alles auswählen

ab
AB
wird das original "ab" später überschrieben. -> mv --backup=t damit wird dann entsprechend eine nummerierte Backupdatei angelget.

Code: Alles auswählen

# to resolve all your problems, try this:
HOWTO='pack c5,41*2,sqrt 7056,unpack(c,H)-2,oct 115' && perl -le "print $HOWTO"
Ich beantworte keine Supportfragen per PM!
abgdf
Guru
Guru
Beiträge: 3449
Registriert: 13. Apr 2004, 21:15

Beitrag von abgdf »

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
Guru
Beiträge: 3449
Registriert: 13. Apr 2004, 21:15

Beitrag von abgdf »

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: Alles auswählen

mmv -r ";*" "#l2"
Anmerkung: Das zwischen # und 2 ist ein "l wie Ludwig".

Beste Grüße
Antworten