![]() |
![]() |
|
|
|||||||
| Linux, UNIX, Open Source Rat & Tat bei Problemen und Fragen rund um GNU/Linux, BSD und sonstige UNIXe |
![]() |
|
|
Themen-Optionen | Ansicht |
|
|
#1 |
|
Veteran
|
Hi
folgendes Problem: ich habe in meinem FTP Dir auf einem FreeBSD Server mehrere 100 Files liegen, die aber teilweise von den Filenames her, wie soll ich sagen, ... besch*** sind ... da gibts sowas wie: "ich bin ein file mit ümlauten und whitespaces.txt" ok, meine Frage ... wie benenne ich diese files am besten um, so dass die whitespaces einfach ruasfliegen und die sonderzeichen entweder einfach auch gestrichen werden, oder ersetzt werden. Muss ja irgendwie mit mv und einer regular Expression gehen, nur wie ... hab auch bisher kein gscheites Shell Script für sowas gefunden .... wär toll wenn mir jemand helfen könnte (das ganze sollte sich rekursiv durch die Verzeichnisse arbeiten) vielen Dank, bin gespannt auf eure Vorschläge ... cya Phlow |
|
|
|
|
|
#2 |
|
bitte Mailadresse prüfen!
Registriert seit: 03.04.2001
Beiträge: 2.387
|
So etwas ähnliches hab ich mal gemacht, ich hab ein listing des Directories in eine Datei geschrieben, diese Datei dann Zeile für Zeile abgearbeitet (eine Zeile, also der Dateiname, wurde in der Var. $OLD gespeichert) und mittels irgendeines Befehls, den ich leider nimma weiß, die Leerzeichen von $OLD durch "_" substituiert, das ganze in die Var. $NEW geschrieben, und jede Zeile, also die Dateinamen, per "mv $OLD $NEW" umbenannt.
|
|
|
|
|
|
#3 |
|
Inventar
![]() Registriert seit: 08.04.2001
Beiträge: 3.101
|
Vielleicht hilft der Beitrag aus at.Linux:
http://groups.google.com/groups?q=li...west.at&rnum=1 |
|
|
|
|
|
#4 |
|
Jr. Member
![]() Registriert seit: 04.06.2001
Alter: 49
Beiträge: 73
|
vielleicht hilft dir das Programm mmv
MMV heist multiple move und kann einiges. ein so ein befehl könnte z.B. sein mmv -r "*.mpeg" "#1.mpg" genau so kannst du natürlich auch blanks entfernen... by |
|
|
|
|
|
#5 |
|
Newbie
![]() Registriert seit: 16.01.2003
Alter: 77
Beiträge: 6
|
Z.B. Dateien im aktuellen Verzeichnist in Kleinbuchstaben umwandeln geht so.
for name in * ; do mv -i $name $(echo $name | tr [:upper:] [:lower:]) ; done Man pages für tr ansehen Denke das ist was Du brauchst. L.G. Renrew
____________________________________
Mfg. Renrew |
|
|
|
![]() |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|