Perl: verschieben von Dateien in dafür vorgesehenen Ordnern

Ich habe ein perl-script zum verschieben von Dateien von einem Verzeichnis (/Ordner/) zu einem anderen (/Ordner2/) und dann, wenn der name der Datei (File20.doc) entspricht dem Namen des Ordners (Ordner/file20) genau, es wird die Datei in diesen Ordner.

Was ich brauche, ist, wenn ein Teil der Datei dem Namen des Ordners entspricht, der wird diese Datei in diesem Ordner. Zum Beispiel, wenn die Datei den Namen file24.doc es wird diese Datei in file20.

Hier ist das script habe ich so für zu entsprechen, wird extact file-Namen zu den entsprechenden Ordnern.

#!/usr/bin/perl
use warnings;
use File::Copy;

my $srcdir = "/folder/";
 my $dest = "/folder2/";

opendir(DIR, $srcdir) or die "Can't open $srcdir: $!";
 @files = grep {!/^\.+$/ }  readdir(DIR);


 foreach my $file (@files) {

 my $old = "$srcdir/$file";


 move($old, $dest) or die "Move $old -> $dest failed: $!";


 }   
close(DIR);

print "

-Complete";
exit;

InformationsquelleAutor user731668 | 2011-04-29

Schreibe einen Kommentar