[gelöst] Umbenennen von vielen Dateien
[gelöst] Umbenennen von vielen Dateien
Moin moin!
Ich habe meinen alten Datenbestand von Windows auf mein Linux System kopiert und habe mich (der Konsolenfreundlichkeit wegen) entschieden alle Dateien nun klein zu benennen. Naja, spätestens bei den mp3s verzweifelt man.. Kennt jemand ein Programm, das alle in einem Ordner (+ Unterverzeichnisse) liegende Dateien gleich lässt, lediglich alle großen in kleine Buchstaben ändert...?
Gruß
seels
Ich habe meinen alten Datenbestand von Windows auf mein Linux System kopiert und habe mich (der Konsolenfreundlichkeit wegen) entschieden alle Dateien nun klein zu benennen. Naja, spätestens bei den mp3s verzweifelt man.. Kennt jemand ein Programm, das alle in einem Ordner (+ Unterverzeichnisse) liegende Dateien gleich lässt, lediglich alle großen in kleine Buchstaben ändert...?
Gruß
seels
Zuletzt geändert von seels am 09.10.2007 10:26:50, insgesamt 1-mal geändert.
Hi
z.B mit tr
in etwa so
für Unterverzeichnisse müsste man da evtl. mit find was basteln.
Gruss
Dirk
z.B mit tr
in etwa so
Code: Alles auswählen
for i in *[A-Z]*
do
mv $i `echo $i | tr A-Z a-z`
done
Gruss
Dirk
- Woodrow
- Beiträge: 88
- Registriert: 19.11.2006 23:02:47
- Lizenz eigener Beiträge: MIT Lizenz
-
Kontaktdaten:
kurz gegoogelt:
http://narutolinux.blogspot.com/2007/09/renamesh.html
obs funzt keine Ahnung. wollte es nur nich vorenthalten![Wink ;)](./images/smilies/icon_wink.gif)
http://narutolinux.blogspot.com/2007/09/renamesh.html
obs funzt keine Ahnung. wollte es nur nich vorenthalten
![Wink ;)](./images/smilies/icon_wink.gif)
Ja. In etwa.Pa D. hat geschrieben:Hi
z.B mit tr
in etwa so
für Unterverzeichnisse müsste man da evtl. mit find was basteln.Code: Alles auswählen
for i in *[A-Z]* do mv $i `echo $i | tr A-Z a-z` done
Das ist Globbing und nicht Regex. Daher trifft *[A-Z]* alles was A oder - oder Z drin hat - außer es fängt mit . an. Wenn Leerzeichen oder gar Linefeed in den Dateinamen sind, gibt es auch Probleme.
rename ist ganz nett. Das kann mit Regex. Außerdem ist convmv zum umkodieren (von Latin1 auf UTF-8) hilfreich.
Der xfce Filemanager kann das. Allerdings weiß ich nicht, ab welcher Version. In Lenny ist 0.8 und wenn ich ihn mit "thunar -B" starte, kommt der Bulk Rename Dialog. Kannste also mit grafischer Oberfläche mehrere Dateien auf einmal umbennen.
Sowas gibbet aber wahrscheinlich auch für Nautilus (Gnome) und Konqueror (Kde) als Aktion, plugin oder vielleich eingebaut. Kenne mich aber leider mit KDE oder Gnome kaum aus.
Sowas gibbet aber wahrscheinlich auch für Nautilus (Gnome) und Konqueror (Kde) als Aktion, plugin oder vielleich eingebaut. Kenne mich aber leider mit KDE oder Gnome kaum aus.
Hi
Könntest du mir das erklären ? Ich will ja nicht doof sterben.
Da sind Namen dabei ohne A oder Z oder - .
Ok sind keine Leerzeichen drin,
da hast du wohl recht da gibts evtl Probleme, aber das sollte ja auch nur ein Ansatz sein.
Gruss
Dirk
Also dann dürfte mein Versuch eigentlich gar nicht gehen, aber warum funktioniert das?Das ist Globbing und nicht Regex. Daher trifft *[A-Z]* alles was A oder - oder Z drin hat - außer es fängt mit . an.
Könntest du mir das erklären ? Ich will ja nicht doof sterben.
Da sind Namen dabei ohne A oder Z oder - .
Ok sind keine Leerzeichen drin,
![Wink :wink:](./images/smilies/icon_wink.gif)
Gruss
Dirk
Code: Alles auswählen
dirk@schleppie:~/test/pinkFloyd$ ls
A_New_Machine_1.mid Comfortably_Numb.mid Have_a_Cigar.mid Shine_On_Second_Half.mid Time.mid
Another_Brick_in_the_Wall_2.mid Dogs_of_War.mid Money.mid South_Hampton_Dock.mid Two_Suns_in_the_Sunset.mid
Another_Brick_in_the_Wall.mid Empty_Spaces.mid One_slip.mid The_Division_Bell.mid Waiting_For_The_Worms.mid
Atom_Heart_Mother.mid.mid Grandchester_Meadows.mid On_The_Run.mid The_Show_Must_Go_On.mid Wish_You_Were_Here_Alt.mid
Comfortably_Numb_Alt2.mid Great_Gig_in_the_Sky.mid Sheep.mid Thin_Ice.mid Wots_Uh_The_Dealio.mid
dirk@schleppie:~/test/pinkFloyd$ for i in *[A-Z]*; do mv "$i" `echo "$i" | tr A-Z a-z`; done
dirk@schleppie:~/test/pinkFloyd$ ls
a_new_machine_1.mid comfortably_numb.mid have_a_cigar.mid shine_on_second_half.mid time.mid
another_brick_in_the_wall_2.mid dogs_of_war.mid money.mid south_hampton_dock.mid two_suns_in_the_sunset.mid
another_brick_in_the_wall.mid empty_spaces.mid one_slip.mid the_division_bell.mid waiting_for_the_worms.mid
atom_heart_mother.mid.mid grandchester_meadows.mid on_the_run.mid the_show_must_go_on.mid wish_you_were_here_alt.mid
comfortably_numb_alt2.mid great_gig_in_the_sky.mid sheep.mid thin_ice.mid wots_uh_the_dealio.mid
Es gibt mmv aus dem gleichnamigen Paket dafür! Das sorgt sich auch um Leer-Sonderzeichen, einfacher gehts nicht:
Die 1 steht für den 1. gefundenen Begriff im 1. Argument von mmv (man kann auch Sachen wie "*_*" suchen, dann gibt es #1 und #2, die du beackern kannst).
das kleine L steht für lower. Mittels u (upper) kannst du auch Kleinbuchstaben in Grossbuchstaben verwandeln.
Beispiel:
EDIT:
Ich habe das mal ins Wiki aufgenommen, evtl. hilft das zur Verbreitung des kleinen tools (was es übrigens schon seit mindestens der Zeit von SuSE 6.4 gibt)
Code: Alles auswählen
mmv -v "*" "#l1"
das kleine L steht für lower. Mittels u (upper) kannst du auch Kleinbuchstaben in Grossbuchstaben verwandeln.
Beispiel:
Code: Alles auswählen
thorsten@dev:/tmp/mmvtest$ touch GROSS.mp3 Klein.MP3
thorsten@dev:/tmp/mmvtest$ ls
GROSS.mp3 Klein.MP3
thorsten@dev:/tmp/mmvtest$ mmv -v "*" "#l1"
GROSS.mp3 -> gross.mp3 : done
Klein.MP3 -> klein.mp3 : done
thorsten@dev:/tmp/mmvtest$ ls
gross.mp3 klein.mp3
thorsten@dev:/tmp/mmvtest$ mmv -v "*" "#u1"
gross.mp3 -> GROSS.MP3 : done
klein.mp3 -> KLEIN.MP3 : done
Ich habe das mal ins Wiki aufgenommen, evtl. hilft das zur Verbreitung des kleinen tools (was es übrigens schon seit mindestens der Zeit von SuSE 6.4 gibt)
Zuletzt geändert von ThorstenS am 09.10.2007 11:43:54, insgesamt 1-mal geändert.
Du hast recht. Ich habe mich vertan. *[A-Z]* ist tatsächlich ein Bereich, der A bis Z, aber auch b bis z einschließt. ä gehört auch dazu. Aber seltsamerweise gehört a nicht dazu.Pa D. hat geschrieben:Also dann dürfte mein Versuch eigentlich gar nicht gehen, aber warum funktioniert das?Das ist Globbing und nicht Regex. Daher trifft *[A-Z]* alles was A oder - oder Z drin hat - außer es fängt mit . an.
Könntest du mir das erklären ? Ich will ja nicht doof sterben.
Da sind Namen dabei ohne A oder Z oder - .
Ich verstehe nicht was da abgeht. man glob hilft mir auch nicht.
mmv wurde schon vor Jahren im Linux-User vorgestellt, incl der Erläuterung warum das Umbenennen von Dateien Probleme verursachen kann: http://www.linux-user.de/ausgabe/2001/0 ... ml?print=y
Wenn Windows die Lösung ist...
kann ich dann bitte das Problem zurück haben?
kann ich dann bitte das Problem zurück haben?
richtig auf diesen Artikel hin habe ich schon versucht den Bekanntheisgrad zu erhöhen ![Cool 8)](./images/smilies/icon_cool.gif)
https://www.redhat.com/archives/redhat- ... 01598.html
![Cool 8)](./images/smilies/icon_cool.gif)
https://www.redhat.com/archives/redhat- ... 01598.html