Leerzeichen in Dateinamen ersetzen
Hallo zusammen! Ich versuche vergeblich, mit folgendem Skript alle Leerzeichen in einigen Dateien zu eliminieren. for alt in $(find . -type f); do neu="$(find . -type f | tr '[A-Z ]' '[a-z_]')"; mv "$alt" "$neu"; done Kann mir jemand sagen, wie ich es schaffe, daß im aktullen Verzeichnis alle Leerzeichen in Dateinamen durch _ ersetzt werden? Vielen Dank! J. Wolfgarten
* On Mon, 10 Feb 2003 at 11:14 +0100, Jens Wolfgarten wrote:
Ich versuche vergeblich, mit folgendem Skript alle Leerzeichen in einigen Dateien zu eliminieren.
for alt in $(find . -type f); do neu="$(find . -type f | tr '[A-Z ]' '[a-z_]')"; mv "$alt" "$neu"; done
Ohne mich da jetzt lange reindenken zu wollen - ich glaub, so funktioniert das nisch. (untested) for alt in $(find . -type f -name '* *'); do mv "$alt" `echo $alt|sed 's, ,_,'`; done mmv geht u.U. auch. -- Adalbert GPG welcome, request public key: mailto:adalbert+key@lopez.at
Hallo Adalbert!
* On Mon, 10 Feb 2003 at 11:14 +0100, Jens Wolfgarten wrote:
Ich versuche vergeblich, mit folgendem Skript alle Leerzeichen in einigen Dateien zu eliminieren.
for alt in $(find . -type f); do neu="$(find . -type f | tr '[A-Z ]' '[a-z_]')"; mv "$alt" "$neu"; done
Ohne mich da jetzt lange reindenken zu wollen - ich glaub, so funktioniert das nisch.
(untested) for alt in $(find . -type f -name '* *'); do mv "$alt" `echo $alt|sed 's, ,_,'`; done
mmv geht u.U. auch.
Leider nimmt er das nicht. Er hat Probleme bei dem "$alt". Gibt es noch eine andere Lösung? Jens
* On Mon, 10 Feb 2003 at 11:37 +0100, Jens Wolfgarten wrote: Bitte eine korrekte attribution line einfügen, danke. [Leerzeichen entfernen]
(untested) for alt in $(find . -type f -name '* *'); do mv "$alt" `echo $alt|sed 's, ,_,'`; done
mmv geht u.U. auch.
Leider nimmt er das nicht. Er hat Probleme bei dem "$alt". Gibt es noch eine andere Lösung?
Hmm, hätte wirklich testen sollen - kann so nicht gehen. for alt in *\ *; do mv "$alt" `echo $alt|sed 's, ,_,g'`; done machts im aktuellen Verzeichnis, für Unterverzeichnisse darfst Du es selber umbauen. -- Adalbert GPG welcome, request public key: mailto:adalbert+key@lopez.at
Hallo Jens, Jens Wolfgarten schrieb:
Hallo Adalbert!
* On Mon, 10 Feb 2003 at 11:14 +0100, Jens Wolfgarten wrote:
Ich versuche vergeblich, mit folgendem Skript alle Leerzeichen in einigen Dateien zu eliminieren.
for alt in $(find . -type f); do neu="$(find . -type f | tr '[A-Z
]'
'[a-z_]')"; mv "$alt" "$neu"; done
Ohne mich da jetzt lange reindenken zu wollen - ich glaub, so funktioniert das nisch.
(untested) for alt in $(find . -type f -name '* *'); do mv "$alt" `echo $alt|sed 's, ,_,'`; done
mmv geht u.U. auch.
Leider nimmt er das nicht. Er hat Probleme bei dem "$alt". Gibt es noch eine andere Lösung?
Eigentlich sieht der Befehl gut aus - vielleicht hast du irgendwelche Anführungszeichen unterschlagen? Auf alle Fälle habe ich diesen Befehl hier getestet, einfach komplett kopieren (in eine einzige Zeile!) und sollte laufen: find . -type f -name '* *' -print | while read alt ; do neu=`echo "$alt" | sed 's/ /_/g'` ; mv "$alt" "$neu" ; done Es gibt hier allerdings noch ein Problem - du untersuchst nur Dateien, bist du sicher, daß es keine Verzeichnisnamen mit Leerzeichen gibt? In diesem Fall würden (alle bisherigen) Befehle scheitern, da das auch der Verzeichnisname geändert wird, ohne daß aber das Verzeichnis wirklich so heißt! Gruß Raimund
Hallo Jens, Jens Wolfgarten wrote:
Hallo zusammen!
Ich versuche vergeblich, mit folgendem Skript alle Leerzeichen in einigen Dateien zu eliminieren.
for alt in $(find . -type f); do neu="$(find . -type f | tr '[A-Z ]' '[a-z_]')"; mv "$alt" "$neu"; done
Kann mir jemand sagen, wie ich es schaffe, daß im aktullen Verzeichnis alle Leerzeichen in Dateinamen durch _ ersetzt werden?
Vielen Dank!
J. Wolfgarten
Am 19.08.2002 habe ich genau gleichen Thread "losgetreten". Kannst evtl. im List-Archiv unter Subject "Leerzeichen aus Dateinamen loeschen" fuendig werden. Hoffe es hilft! Gruss Sascha
Hallo, On Monday 10 February 2003 11:14, Jens Wolfgarten wrote:
Hallo zusammen!
Ich versuche vergeblich, mit folgendem Skript alle Leerzeichen in einigen Dateien zu eliminieren. [...] Kann mir jemand sagen, wie ich es schaffe, daß im aktullen Verzeichnis alle Leerzeichen in Dateinamen durch _ ersetzt werden?
zum Beispiel so: for f in *; do cp "$f" "$(echo $f|sed -e 's/ /_/g')"; done Für alle files ohne Leerzeichen gibt es hier eine Warnung, dass Quelle und Ziel identisch sind. Diese Warnungen kann man getrost mit 2>/dev/null am Ende des obigen Ausdrucks ins Nirvana schicken, da die files ohne Leerzeichen nicht angerührt werden. Schöne Grüße, Stephan -- /* Stephan Hakuli // http://www.hakuli.net // GPG-ID 4006A977 Encryption with GPG or PGG is strongly encouraged, my public key is available on my website or on common public keyservers. */
On Mon, 10 Feb 2003 at 12:11 (+0100), Stephan Hakuli wrote:
Hallo,
On Monday 10 February 2003 11:14, Jens Wolfgarten wrote:
Hallo zusammen!
Ich versuche vergeblich, mit folgendem Skript alle Leerzeichen in einigen Dateien zu eliminieren. [...] Kann mir jemand sagen, wie ich es schaffe, daß im aktullen Verzeichnis alle Leerzeichen in Dateinamen durch _ ersetzt werden?
zum Beispiel so:
for f in *; do cp "$f" "$(echo $f|sed -e 's/ /_/g')"; done
Für alle files ohne Leerzeichen gibt es hier eine Warnung, dass Quelle und Ziel identisch sind. Diese Warnungen kann man getrost mit 2>/dev/null am Ende des obigen Ausdrucks ins Nirvana schicken, da die files ohne Leerzeichen nicht angerührt werden.
Nein nein nein! Sorry, aber das ist ungefähr so sicher wie das Essen der schicken roten Pilze mit den kleinen weissen Punkten! In Scripts sollte man _nie_ (in Worten: NIE) diese Warnungen einfach ins Nirvana schicken. Das Umkopieren kann ja auch aus ganz anderen Gründen schiefgehen (oder fatalerweise auch nicht!): - Es gibt sowohl die Datei mit, als auch die ohne Leerzeichen. Kopie geht gut - wech ist die Originaldatei ohne Leerzeichen - Im Pfad steht ein Verzeichnis mit Leerzeichen - In einem Verzeichnis stehen die Rechte falsch, Kopieren geht schief. - ... Also sollte man sich die (kleine) Mühe machen, das Script halbwegs wasserdicht zu bauen. Darunter verstehe ich, dass man offensichtliche Fallstricke wie Überschreiben existierender Dateien oder Verzeichnisse mit Leerzeichen abfängt und den Rest der Fehler protokolliert, um sie prüfen zu können. Eine noch kleinere Mühe wäre übrigens das Stöbern im Archiv, ich glaube mich an einige Threads zu diesem Thema erinnern zu können (einer wurde ja schon genannt). So, das musste raus ;-). Variante im aktuellen Verzeichnis: <ungetestet> ls | while read f; do test -f "$f" || continue n="`echo \"$f\" | sed 's/ /_/g'`" if test -e "$n"; then echo "Ziel \"$n\" existiert" >&2 else mv "$f" "$n" fi done </ungetestet> Alle Fehler kommen nach stderr und können bei Bedarf in eine Datei umgeleitet werden. Variante mit Verzeichnisanteil: <ungetestet> ls $dir | while read f; do test -f "$dir/$f" || continue n="$dir/`echo \"$f\" | sed 's/ /_/g'`" if test -e "$n"; then echo "Ziel \"$n\" existiert" >&2 else mv "$f" "$n" fi done </ungetestet> Variante rekursiv: <ungetestet> find $dir -type f -print | while read f; do n="`dirname \"$f\"`/`basename \"$f\" | sed 's/ /_/g'`" if test -e "$n"; then echo "Ziel \"$n\" existiert" >&2 else mv "$f" "$n" fi done </ungetestet> Jan
Hallo, On Tuesday 11 February 2003 00:24, Jan Trippler wrote:
On Mon, 10 Feb 2003 at 12:11 (+0100), Stephan Hakuli wrote:
zum Beispiel so:
for f in *; do cp "$f" "$(echo $f|sed -e 's/ /_/g')"; done
Für alle files ohne Leerzeichen gibt es hier eine Warnung, dass Quelle und Ziel identisch sind. Diese Warnungen kann man getrost mit 2>/dev/null am Ende des obigen Ausdrucks ins Nirvana schicken, da die files ohne Leerzeichen nicht angerührt werden.
Nein nein nein! Sorry, aber das ist ungefähr so sicher wie das Essen der schicken roten Pilze mit den kleinen weissen Punkten! In Scripts sollte man _nie_ (in Worten: NIE) diese Warnungen einfach ins Nirvana schicken. Das Umkopieren kann ja auch aus ganz anderen Gründen schiefgehen (oder fatalerweise auch nicht!):
wer redet denn von Skripten? ;-) Nein, du hast prinzipiell natürlich vollkommen Recht, auch Deine vorgebrachten Einwände sind berechtigt. Weiterhin fällt mir gerade auf, dass ich oben "cp" statt "mv" gepostet habe. Außerdem habe ich die Quick'n'very dirty-Tags vergessen. Ts, ts, ts... Ich habe den OP so verstanden, dass er mit "Skript" einen Einzeiler meinte, der "mal schnell im aktuellen Verzeichnis loslegt". Deshalb vertrete ich auch weiterhin die Meinung, dass in einem "normalen" Verzeichnis obenstehender Ansatz ausreichend ist. Ich gehöre allerdings auch zu den Leuten, die nahezu paranoid werden, wenn sowas automatisiert werden soll. Über welche Schweinereien man da so stolpern kann... ;-)
- Es gibt sowohl die Datei mit, als auch die ohne Leerzeichen. Kopie geht gut - wech ist die Originaldatei ohne Leerzeichen
Guter Punkt!
- Im Pfad steht ein Verzeichnis mit Leerzeichen
Wird nicht angerührt. cp wird was von omitting directory erzählen.
- In einem Verzeichnis stehen die Rechte falsch, Kopieren geht schief. - ...
- Ist die Datei überhaupt ein file, nicht vielleicht ein Link? - ... Bye, Stephan -- /* Stephan Hakuli // http://www.hakuli.net // GPG-ID 4006A977 Encryption with GPG or PGG is strongly encouraged, my public key is available on my website or on common public keyservers. */
On Die, 11 Feb 2003 at 18:46 (+0100), Stephan Hakuli wrote: > On Tuesday 11 February 2003 00:24, Jan Trippler wrote: > > On Mon, 10 Feb 2003 at 12:11 (+0100), Stephan Hakuli wrote: > > > zum Beispiel so: > > > > > > for f in *; do cp "$f" "$(echo $f|sed -e 's/ /_/g')"; done [...] > Ich habe den OP so verstanden, dass er mit "Skript" einen Einzeiler > meinte, der "mal schnell im aktuellen Verzeichnis loslegt". Deshalb > vertrete ich auch weiterhin die Meinung, dass in einem "normalen" > Verzeichnis obenstehender Ansatz ausreichend ist. [...] > > - Es gibt sowohl die Datei mit, als auch die ohne Leerzeichen. Kopie > > geht gut - wech ist die Originaldatei ohne Leerzeichen > > Guter Punkt! Und eben darum ist obiger Ansatz IMHO keinesfalls ausreichend. Wir reden hier nämlich nicht von Fehlermeldungen, sondern von Datenverlust! Da kann man sich schöne Horror-Szenarien ausdenken: datei_nummer_1 datei_nummer 1 datei nummer_1 datei nummer 1 Nach der Schleife sind 3 davon weg! > > - Im Pfad steht ein Verzeichnis mit Leerzeichen > > Wird nicht angerührt. cp wird was von omitting directory erzählen. cp ja, mv nein. Da kann im Zusammenhang mit Fall 1 folgendes passieren: dir_1 dir 1 Anschliessend (nach dem mv) liegt *dir 1* unterhalb von dir_1, nach wie vor mit Leerzeichen. Da fällt mir ein: Dateien geht es natürlich genauso. > > - In einem Verzeichnis stehen die Rechte falsch, Kopieren geht > > schief. > > - ... > > - Ist die Datei überhaupt ein file, nicht vielleicht ein Link? > - ... ACK. Jan
Hallo, am Montag, 10. Februar 2003 um 10:14 schrieb Jens Wolfgarten
Ich versuche vergeblich, mit folgendem Skript alle Leerzeichen in einigen Dateien zu eliminieren.
...und fuer Freunde von KDE: http://www.krename.net cu stonki -- Deutsche ProFTP Docs: http://www.proftpd.de EFNET: #proftpd
Hallo, On Mon, 10 Feb 2003, Jens Wolfgarten wrote:
Ich versuche vergeblich, mit folgendem Skript alle Leerzeichen in einigen Dateien zu eliminieren.
for alt in $(find . -type f); do neu="$(find . -type f | tr '[A-Z ]' ^^^^^^^^^^^^^^^^^das ist dein Problem. '[a-z_]')"; mv "$alt" "$neu"; done
Kann mir jemand sagen, wie ich es schaffe, daß im aktullen Verzeichnis alle Leerzeichen in Dateinamen durch _ ersetzt werden?
find . -type f -name "* *" | while read alt; do neu="$(echo \"$alt\" | tr '[A-Z ]' '[a-z_]')"; mv -i "$alt" "$neu"; done Insbesondere weil eben Leerzeichen in den Dateinamen vorkommen ist sorgfaeltiges quoten wichtig. -dnh -- Q: Why is it that New Jersey got all the toxic waste dumps and California got all the lawyers? A: New Jersey had first choice. -- unknown
On Mon, 10 Feb 2003 at 13:17 (+0100), David Haller wrote:
Hallo,
On Mon, 10 Feb 2003, Jens Wolfgarten wrote:
Ich versuche vergeblich, mit folgendem Skript alle Leerzeichen in einigen Dateien zu eliminieren.
for alt in $(find . -type f); do neu="$(find . -type f | tr '[A-Z ]' ^^^^^^^^^^^^^^^^^das ist dein Problem. '[a-z_]')"; mv "$alt" "$neu"; done
Kann mir jemand sagen, wie ich es schaffe, daß im aktullen Verzeichnis alle Leerzeichen in Dateinamen durch _ ersetzt werden?
find . -type f -name "* *" | while read alt; do neu="$(echo \"$alt\" | tr '[A-Z ]' '[a-z_]')"; mv -i "$alt" "$neu"; done
Na na, David! Wo bleibt denn Dein kritischer Blick? ;-) Das angegebene Konstrukt wandelt eben nicht nur im aktuellen Verzeichnis Dateinamen um (BTW auch gleich Groß- in Kleinbuchstaben), sondern rekursiv und außerdem werden auch gleich die Verzeichnisnamen von evtl. vorhandenen Unterverzeichnissen umgetauft (wo dann der mv schiefgeht, wenn das Ziel-Verzeichnis ohne Leerzeichen und Großbuchstaben nicht existiert): jan@k500:~/tmp/tst> tree . `-- l e e r `-- n o c h l e e r e r 1 directory, 1 file jan@k500:~/tmp/tst> find . -type f -name "* *" | while read alt; do neu="$(echo \"$alt\" |
tr '[A-Z ]' '[a-z_]')"; mv -i "$alt" "$neu"; done mv: reguläre Datei »"./l_e_e_r/n_o_c_h_l_e_e_r_e_r"« kann nicht angelegt werden: Datei oder Verzeichnis nicht gefunden
Ach ja, mir fiel gerade noch was anderes auf: jan@k500:~/tmp/tst/l e e r> ls n o c h l e e r e r jan@k500:~/tmp/tst/l e e r> ls | tr ' ' '_' n_o_c_h___l_e_e_r_e_r jan@k500:~/tmp/tst/l e e r> echo `ls` | tr ' ' '_' n_o_c_h_l_e_e_r_e_r jan@k500:~/tmp/tst/l e e r> echo "`ls`" | tr ' ' '_' n_o_c_h___l_e_e_r_e_r Da rationalisiert der echo offenbar *überflüssige* Leerzeichen weg - es sind für ihn ja nur Argumenttrenner *hrmpf* Und schon habe ich wieder einen Grund, bei der traditionellen Syntax mit `` statt $() zu bleiben: jan@k500:~/tmp/tst> find . -type f -name "* *" | while read alt; do neu="`echo \"$alt\" | tr '[A-Z ]' '[a-z_]'`"; mv -i "$alt" "$neu"; done mv: reguläre Datei »./l_e_e_r/n_o_c_h___l_e_e_r_e_r« kann nicht angelegt werden: Datei oder Verzeichnis nicht gefunden Jan
Hallo, On Tue, 11 Feb 2003, Jan Trippler wrote:
On Mon, 10 Feb 2003 at 13:17 (+0100), David Haller wrote:
On Mon, 10 Feb 2003, Jens Wolfgarten wrote:
Ich versuche vergeblich, mit folgendem Skript alle Leerzeichen in einigen Dateien zu eliminieren.
for alt in $(find . -type f); do neu="$(find . -type f | tr '[A-Z ]' ^^^^^^^^^^^^^^^^^das ist dein Problem. '[a-z_]')"; mv "$alt" "$neu"; done
Kann mir jemand sagen, wie ich es schaffe, daß im aktullen Verzeichnis alle Leerzeichen in Dateinamen durch _ ersetzt werden?
find . -type f -name "* *" | while read alt; do neu="$(echo \"$alt\" | tr '[A-Z ]' '[a-z_]')"; mv -i "$alt" "$neu"; done
Na na, David! Wo bleibt denn Dein kritischer Blick? ;-)
Dem fehlt die Uebung an/mit dir! :)
Das angegebene Konstrukt wandelt eben nicht nur im aktuellen Verzeichnis Dateinamen um (BTW auch gleich Groß- in Kleinbuchstaben), sondern rekursiv
Jo, das -maxdepth 1 hab ich vergessen ;( Der Rest sind dann Folgefleher (sic!). [..]
Ach ja, mir fiel gerade noch was anderes auf: jan@k500:~/tmp/tst/l e e r> ls n o c h l e e r e r jan@k500:~/tmp/tst/l e e r> ls | tr ' ' '_' n_o_c_h___l_e_e_r_e_r jan@k500:~/tmp/tst/l e e r> echo `ls` | tr ' ' '_' n_o_c_h_l_e_e_r_e_r jan@k500:~/tmp/tst/l e e r> echo "`ls`" | tr ' ' '_' n_o_c_h___l_e_e_r_e_r
Da rationalisiert der echo offenbar *überflüssige* Leerzeichen weg - es sind für ihn ja nur Argumenttrenner *hrmpf*
Eben. Das echo bekommt eben nicht '"n o c h l e e r e r"' zu sehen, sondern '"n" "o" "c" "h" "l" "e" "e" "r" "e" "r"'. Wichtig ist dabei, was _vor_ der Pipe passiert. 'tr' interessiert das doch alles nicht die Bohne. Aber echo! Einfach mal das |tr weglassen... Denn `ls` expandiert zu 'n o c h l e e r e r'. Und das wiederum (beachte IFS!) wird dann von echo interpretiert... Hier mal mit 'for f in' statt dem echo [1]: dh@slarty$ ls dh@slarty$ touch 'n o c h l e e r e r' dh@slarty$ for f in `ls`; do echo "\'$f\'"; done | xargs echo 'n' 'o' 'c' 'h' 'l' 'e' 'e' 'r' 'e' 'r' dh@slarty$ for f in "`ls`"; do echo "\'$f\'"; done | xargs echo 'n o c h l e e r e r' dh@slarty$ touch 'l e e r' dh@slarty$ for f in `ls`; do echo "\'$f\'"; done | xargs echo 'l' 'e' 'e' 'r' 'n' 'o' 'c' 'h' 'l' 'e' 'e' 'r' 'e' 'r' dh@slarty$ for f in "`ls`"; do echo "\'$f\'"; done | xargs echo 'l e e r n o c h l e e r e r' dh@slarty$ find . -type f -maxdepth 1 -exec echo "'{}'" \; './n o c h l e e r e r' './l e e r' dh@slarty$ find . -type f -maxdepth 1 -exec echo "{}" \; | tr ' ' '_' ./n_o_c_h___l_e_e_r_e_r ./l_e_e_r dh@slarty$ find . -type f -maxdepth 1 | tr ' ' '_' ./n_o_c_h___l_e_e_r_e_r ./l_e_e_r Fazit: [for +] ls + echo Kombinationen will man nicht bei kranken Dateinamen.
Und schon habe ich wieder einen Grund, bei der traditionellen Syntax mit `` statt $() zu bleiben:
Wo ist hier dabei der Unterschied? -dnh [1] prompt wg. Zeilenlaenge gekuerzt -- [NTFS] it's the Not Trustworthy File System until all files are gone. Then it automagically switches to be the Nothing There File System. That's not a bug. That's a feature. -- Peter Eckhardt in dasr
On Mit, 12 Feb 2003 at 01:36 (+0100), David Haller wrote:
On Tue, 11 Feb 2003, Jan Trippler wrote:
On Mon, 10 Feb 2003 at 13:17 (+0100), David Haller wrote: [...]
find . -type f -name "* *" | while read alt; do neu="$(echo \"$alt\" | tr '[A-Z ]' '[a-z_]')"; mv -i "$alt" "$neu"; done
Na na, David! Wo bleibt denn Dein kritischer Blick? ;-)
Dem fehlt die Uebung an/mit dir! :) [...]
Da haben wir also einiges nachzuholen, ja? Fangen wir gleich damit an ;-) [echo schmeisst Leerzeichen weg]
Und schon habe ich wieder einen Grund, bei der traditionellen Syntax mit `` statt $() zu bleiben:
Wo ist hier dabei der Unterschied?
In dem Teil meiner Mail, den Du gelöscht hast ;-) Ich zeigs nachmal: Mein Test Deines Konstukts lieferte: --- schnipp --- jan@k500:~/tmp/tst> find . -type f -name "* *" | while read alt; do neu="$(echo \"$alt\" |
tr '[A-Z ]' '[a-z_]')"; mv -i "$alt" "$neu"; done mv: reguläre Datei »"./l_e_e_r/n_o_c_h_l_e_e_r_e_r"« kann nicht angelegt werden: Datei oder Verzeichnis nicht gefunden --- schnapp ---
Das war übrigens die Stelle, wo mir das mit den Leerzeichen auffiel - schau Dir mal die Fehlermeldung an. Dann habe ich es mit der *traditionellen Methode* versucht: --- schnipp --- jan@k500:~/tmp/tst> find . -type f -name "* *" | while read alt; do neu="`echo \"$alt\" | tr '[A-Z ]' '[a-z_]'`"; mv -i "$alt" "$neu"; done mv: reguläre Datei »./l_e_e_r/n_o_c_h___l_e_e_r_e_r« kann nicht angelegt werden: Datei oder Verzeichnis nicht gefunden --- schnapp --- Der Fehler ist noch da (logo, es ging ja um das Unterverzeichnis), aber der Dateiname ist korrekt (mit 3 Leerzeichen) umgesetzt. Der einzige Unterschied ist, dass ich $(...) durch `...` ersetzt habe. Dafür (wenn man sich die Fehlermeldung in Deiner Version mal ganz genau anschaut), scheint $(...) die "" mit zu transportieren, sie erscheinen nämlich mit als Bestandteil des Dateinamens. Komisch, ne? Jan
Hallo Jens,
Ich versuche vergeblich, mit folgendem Skript alle Leerzeichen in einigen Dateien zu eliminieren.
for alt in $(find . -type f); do neu="$(find . -type f | tr '[A-Z ]' '[a-z_]')"; mv "$alt" "$neu"; done
ich mache es mit: mmv "* *.mp3" "#1#2.mp3" mmv mußte ich bei SuSE 8.1 nachinstallieren. Für mich habe ich es aufgeschrieben, steht unter: http://linux.jrt.de/dateien_umbenennen.htm Gued gohn Achim
participants (9)
-
Adalbert Michelic
-
David Haller
-
Jan.Trippler@t-online.de
-
Jens Wolfgarten
-
Joachim Tüns
-
KN Eup CI-A Sascha Harlfinger
-
Raimund Hölle
-
Stefan Onken
-
Stephan Hakuli