Leser: 1
10 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
use strict; use warnings; #Suche alle *.html-dateien: my @all_files = glob ("*.html"); foreach my $file (@all_files) { #Endung entfernen: $file =~ s/\.html//; #Ich weiß es gibt bessere methoden, #mir fällt aber gerade keine ein. #Lese die Datei: open (FILE, "<", "$file.html") || print "\nERROR: Cannot open the file \"$file\":\n$!\a"; foreach my $data (<FILE>) { #Wenn die Datei eine bestimmte Zeichenfolge enthält, #dann umbenennen: if ($data =~ /www id: (\d\d\d\d\d)/) { print "FILE: $1 in \"$file\" gefunden\n"; close (FILE); rename ("$file.html", "$file $1.html") || print "\nERROR: Cannot rename the file \"$file\":\n$!\a"; last; } }continue { close (FILE); } }
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 37 38 39
#!/usr/bin/perl use strict; use warnings; my $basepath='./test/'; my $regexp_file=qr'(?<=^Stichwort)\w{4}(?=\.html$)'; my $regexp_search=qr'www id: (\d+)'; opendir(DIR,$basepath) or die "Konnte Verzeichnis $basepath nicht oeffnen ($!)\n"; my @filelist = grep{$_=~/$regexp_file/ and -f $basepath.$_}(readdir(DIR)); closedir(DIR); for my $filename (@filelist) { print "untersuche $basepath$filename\n"; unless(open(FILE,'<',$basepath.$filename)) { print "konnte $basepath.$filename nicht öffnen ($!)\n" } else { my $new_filename=$filename; while(my $line=<FILE>) { if(my($number)=$line=~/$regexp_search/) { $new_filename=~s/$regexp_file/$number/; last; } } close(FILE); if($new_filename ne $filename) { unless(-e $basepath.$new_filename) { rename($basepath.$filename,$basepath.$new_filename) or print "Konnte $basepath.$filename nicht zu $basepath.$filename umbenennen ($!)\n" } else { print "Kann $basepath.$filename nicht zu $basepath.$new_filename umbenennen (Datei mit dem Namen existiert bereits!)\n" } } } }
topeg+2007-08-25 00:24:02--Habe mal wieder Schlafprobleme:
[...]
1
2
3
06: my $basepath='./test/';
07: my $regexp_file=qr'(?<=^Stichwort)\w{4}(?=\.html$)';
08: my $regexp_search=qr'www id: (\d+)';
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 37 38 39 40
#!/usr/bin/perl use strict; use warnings; my $basepath='./test/'; my $regexp_file=qr'(?<=^Stichwort\w{4})(?=\.html$)'; my $replacestring='_%s'; my $regexp_search=qr'www id: (\d+)'; opendir(DIR,$basepath) or die "Konnte Verzeichnis $basepath nicht oeffnen ($!)\n"; my @filelist = grep{$_=~/$regexp_file/ and -f $basepath.$_}(readdir(DIR)); closedir(DIR); for my $filename (@filelist) { print "untersuche $basepath$filename\n"; unless(open(FILE,'<',$basepath.$filename)) { print "konnte $basepath.$filename nicht öffnen ($!)\n" } else { my $new_filename=$filename; while(my $line=<FILE>) { if(my($number)=$line=~/$regexp_search/) { $new_filename=~s/$regexp_file/sprintf($replacestring,$number)/e; last; } } close(FILE); if($new_filename ne $filename) { unless(-e $basepath.$new_filename) { rename($basepath.$filename,$basepath.$new_filename) or print "Konnte $basepath.$filename nicht zu $basepath.$filename umbenennen ($!)\n" } else { print "Kann $basepath.$filename nicht zu $basepath.$new_filename umbenennen (Datei mit dem Namen existiert bereits!)\n" } } } }
10 Einträge, 1 Seite |