Thread Datei- und Verzeichnisnamen umwandeln
(8 answers)
Opened by tuxstef at 2007-12-29 09:04
Hallo!
Kann man dieses "grauenhafte" Script besser schreiben? Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 #!/usr/bin/perl START: my @files = `find $ARGV[0] -true`; foreach(@files) { #Am Ende einer jeden Zeile bef. sich ein Zeichen, dass nicht benötigt wird chop ($_); my $fnold = $_; #Das könnte man vielleicht besser schreiben, aber ich weiß nicht wie. #Die dateien können nicht ohne Sonderzeichen - Escaping umbenannt werden. #Linke Seite vom Befehl mv datei_old datein_new $fnold =~ s/\s/\\ /g; $fnold =~ s/,/\\,/g; $fnold =~ s/'/\\'/g; $fnold =~ s/`/\\`/g; $fnold =~ s/\(/\\(/g; $fnold =~ s/\)/\\)/g; $fnold =~ s/\?/\\?/g; $fnold =~ s/\!/\\!/g; $fnold =~ s/\&/\\&/g; #Rechte Seite von mv. #Die ungewünschten Zeichen werden entfernt. $_ =~ s/\s/_/g; $_ =~ s/[^a-zA-Z0-9_\/\.\s-]//g; if ( $fnold ne $_) { print "$fnold -> $_\n"; system ("mv $fnold $_"); #Da auch Verzeichnisse umben. werden, gibts Probleme -> Neu einlesen. goto START; } } Bitte um Hilfe! |