我有一个Perl脚本,可以将文件从一个目录(/folder/)移动到另一个目录(/folder2/),然后如果文件名(File20.doc)与文件夹名称(folder/file20)完全匹配,则会将文件放入该文件夹中。
我需要的是,如果文件名的一部分与文件夹名称匹配,则将该文件放入该文件夹中。例如,如果文件名为file24.doc,则将该文件放入file20中。
以下是我拥有的脚本,它会将精确的文件名匹配到相应的文件夹中。
#!/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;