我有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"
你也可以使用 xargs
和 unzip
:
ls -1 | xargs -L1 -I {} unzip -t {}
如果它们是子文件夹tree
可以:
tree -fai . | xargs -L1 -I {} unzip -t {}