linux-l: namen ändern

Jens Dreger dreger at physik.fu-berlin.de
Di Nov 16 21:01:44 CET 1999


On Tue, 16 Nov 1999, Ulrich Wiederhold wrote:

> Hallo,
> ich bins nochmal!
> Kennt jemand von Euch ein Programm mit dem man
> aus Datei- und Verzeichnisnamen alle Zeichen wie
> space, ´ ,` . usw. entfernen kann?

perl. (okok, emacs bestimmt auch irgendwie, aber nehmen wir mal perl...)

-----8<----------------
#!/usr/bin/perl -w

while( $_ = shift @ARGV ) {
    $file = $_;
    s/[!:,; \'\`\"\\)(]//goi;
    unless( $file ne $_ && !-e $_ ) {
	print "$file -> $_\n";
	rename $file,$_;
    }
}
---------8<------------

als stdchar (oder was weiss ich) abspeichern. Dann kannst Du sowas wie

	find . -type f -print0 | xargs -0 stdchar

aufrufen. Vielleicht probierst Du's vorher nochmal mit auskommentierter
rename-Zeile ;-)

Das Script ueberschreibt keine bestehenden Files (!-e $_).

Jens.

________________________________________________________________________
Jens Dreger                     | Freie Universitaet Berlin
Cauerstrasse 35a                | Fachbereich Physik, WWW Administration
10587 Berlin                    | Arnimallee 14
Tel: (030)342-3616              | 14195 Berlin



Mehr Informationen über die Mailingliste linux-l