如何使用Perl在文件夹中的文件之间建立符号链接



这是场景。

I have dir1-->file1
          |-->file2
          |-->subdir1--->file3
          |         |---> file4 
          | 
          |-->file1
          |-->subdir2-->file6

还有 dir2 不同的文件树...

我需要将上面的文件在/path/dir1 和/path/dir2 中符号链接到 anthor path call/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");
     }
     }
symlink($filename, "path2/" . $_);

应该做这个伎俩。始终假设"path2"是您希望放置链接的目录。

最后我

选择了以下方法。

    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
    }

这也有效,我选择了这个,因为这给出了我预期的输出。

最新更新