如何对多个目录进行 tar 处理,并附加带有“.txt”等模式的文件,并排除一些目录并将“.exe”等模式全部排除到单个 tar 文件中。要点是目录的数量是未知的(动态的),所以我猜我需要循环遍历?
问问题
1046 次
3 回答
7
我会使用Archive::Tar@filelist
并用Class::Path填充(特别是Class::Path::Dir
'srecurse
方法)
于 2010-03-30T14:29:52.913 回答
1
假设您已经使用 File::Find 确定了您想要的文件,然后类似
my @dir = qw/a b/ ;
system "tar -cvf mytar @dir" ;
可能会奏效。但是你可能会发现命令行太长了。
在这种情况下,可能会将文件列表写入文件并使用该选项
--files-from=NAME
(请不要告诉我您不允许写入文件)
于 2010-03-30T18:28:05.467 回答
0
如果由于某种原因您不能或不允许安装超出基本系统的附加模块,您可以使用File::Find而不是 Class::Path。
听起来您已经知道如何调用系统 tar 命令,所以我将保留它。
于 2010-03-30T16:09:55.677 回答