Zip文件不包括日志文件

时间:2016-11-03 10:17:26

标签: linux perl shell unix zip

我想压缩文件夹中的所有文件,但日志文件除外,其格式如' _LOG_FILE '。我在我的shell脚本中使用下面的命令来压缩文件。

usrl="/usr/bin/zip"; 
src_files="$2/*$1*"
tgt_file="$2/$1.zip"
exc_files="$2/$1*_LOG_FILE*"    
$usrl -jmn : $tgt_file $src_files -x $exc_files;

$ 2保存目录路径,$ 1保存数值(它保存值,如82568或82659等),这对应于批处理ID值。示例日志文件名是' 823159_20160608_NM_LOG_FILE.dat'其中823159是批次ID,正确替换值没有任何问题。

我面临的问题是,日志文件也包含在zip文件中,即使我试图在我的代码中排除它。请告知一些解决方案。

1 个答案:

答案 0 :(得分:0)

我想说将文件添加到数组中,然后循环遍历它们。附在拉链上。

opendir(DH, $2);
my @files = readdir(DH);
closedir(DH);

foreach my $file (@files)
{
        # skip . and ..
        next if($file =~ /^\.$/);
        next if($file =~ /^\.\.$/);

        # Skip file containing that string
        next if $file =~ /.*(_LOG_FILE).*/);

        # Then append to the zip
        #....

}

我没有测试过这个。 alternitave是将日志(在此数组中)复制到临时目录,然后将其压缩。

希望这有帮助