这是场景。
I have dir1-->file1
|-->file2
|-->subdir1--->file3
| |---> file4
|
|-->file1
|-->subdir2-->file6
还有dir2不同的文件树...
我需要将/ path / dir1和/ path / dir2中的文件上方符号链接到另一个路径调用/ newpath / dir1和/ newpath / dir2。.
有可能吗?
到目前为止,我在下面尝试过
#!/usr/bin/perl
use strict;
use File::Find qw(find);
my $path = "path";
find(\&Search, $path);
sub Search{
my $filename = $File::Find::name;
if(-f $filename){
symlink("$filename", "path2");
}
}
答案 0 :(得分:2)
symlink($filename, "path2/" . $_);
应该做到这一点。始终假设"path2"
是您要放置链接的目录。
答案 1 :(得分:0)
最后我采用以下方法。
my $dir = "/path/";
my $smlinkdir = "/smlink/path/";
chdir($smlinkdir) or die "Cant chdir to $smlinkdir $!";
if(-d $smlinkdir) {
system(cp, '--recursive', '--preserve=all', '--no-dereference', '--symbolic-link', "$dir", "$smlinkdir");
} else {
exit 1
}
这也很好,我继续使用它,因为这给出了我期望的输出。