如何在Perl中tar多个文件?

时间:2010-03-30 14:25:53

标签: perl include tar

如何对多个目录进行tar操作,并附加某些模式的文件,如“.txt”,并排除某些目录,并将某些模式(如“.exe”)排除在一个tar文件中。主要的一点是目录的数量是未知的(动态),所以我需要循环我猜?

3 个答案:

答案 0 :(得分:7)

我使用Archive::Tar并使用Class::Path(特别是@filelist的{​​{1}}方法)填充Class::Path::Dir

答案 1 :(得分:1)

假设您已经使用File :: Find找出了所需的文件,那么

    my @dir = qw/a b/ ;
    system "tar -cvf mytar @dir" ;

可能会奏效。但是你可能会发现命令行太长了。

在这种情况下,可以将文件列表写入文件并使用选项

   --files-from=NAME

(请不要告诉我你不能写文件)

答案 2 :(得分:0)

如果出于某种原因,您不能或不允许在基本系统之外安装其他模块,您可以使用File::Find而不是Class :: Path。

听起来你已经知道如何调用系统tar命令,所以我会把它留在那里。