9 Einträge, 1 Seite |
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; } }
1
2
$ perl -e 'print `find $ARGV[0] -true`' "--h`uname -r`"
Unrecognized switch: --h2.6.22.13-0.3-default (-h will show valid options).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
foreach(@foundfiles) { if ( -d $_ ) { print "directory\n"; } $ofn = $_; $_ = lc ($_); $_ =~ s/\s/_/g; $_ =~ s/[^a-zA-Z0-9_\/\.\s-]//g; print "$ofn -> $_\n"; #move("te\ st","te_st") or die $!; move($ofn,$_) or die $!; }
1 2 3
funktionsname_in_perl ($_,Sonderzeichen_dass_escaped_werden_muss); $_ =~ s/Sonderzeichen_dass_escaped_werden_muss/\\Sonderzeichen_dass_escaped_werden_muss/g;
tuxstef+2007-12-30 21:32:33--Gibt es da eine Funktion zum automatischen escapen von diesen grauslichen Leerzeichen und "Sonder-Hakel"?
1 2
my $file = File::Spec->catfile( $dir1, $dir2, $filename ); my $dir = File::Spec->catdir( $dir1, $dir2 );
1 2 3 4
use FindBin; use File::Spec; use lib File::Spec->catdir( $FindBin::Bin, '../lib' );
9 Einträge, 1 Seite |