如何使用 zip -T 检查多个 zip 文件的 CRC



我有bash脚本来检查多个zip文件的CRC:

#! /bin/bash
fileFormat="*.zip"
for entry in `ls $fileFormat`; do
    echo $entry >> plikiZip
done
fileName=$(< plikiZip)
for file in "${fileName[@]}"; do
        zip -T $file >> wynik.txt
done

我不知道为什么,我的 wynik.txt 包含:

  adding: mf.gov.pl_1133863230349.zip (stored 0%)
  adding: mf.gov.pl_1133863293588.zip (stored 0%)
  adding: mf.gov.pl_1133863748942.zip (stored 0%)
  adding: noweprzetargi.msgaz.pl_1133848724906.zip (stored 0%)
  adding: swps.pl_1133864085863.zip (stored 0%)
  adding: swps.pl_1133864308647.zip (stored 0%)
  adding: swps.pl_1133864438352.zip (stored 0%)
test of mf.gov.pl_1133863028119.zip OK

我应该更改什么以对所有条目使用"正常"或"坏"而不是

添加:

(存储 X%)

您始终可以使用查找命令:

find . -name "*.zip" -exec zip -T {} ; >> wynik.txt

在这里,您可以使用-maxdepth N选项来控制查找的深度。

替换以下行

zip -T $file && echo "OK" >> wynik.txt || echo "BAD" >> wynik.txt

如果结果是失败&&将失败并输出"BAD"

如果结果成功,&&不会失败,并且将输出"OK"

你也可以使用 xargsunzip

ls -1 | xargs -L1 -I {} unzip -t  {}

如果它们是子文件夹tree可以:

tree -fai . | xargs -L1 -I {} unzip -t  {}

相关内容

  • 没有找到相关文章

最新更新