我想压缩文件夹中的所有文件,但日志文件除外,其格式如' _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文件中,即使我试图在我的代码中排除它。请告知一些解决方案。
答案 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是将日志(在此数组中)复制到临时目录,然后将其压缩。
希望这有帮助