我有一个 zip 文件 file.zip
,它被压缩以节省空间,并且使用 Unix zip 命令上的 9(压缩效果更好)设置。
我考虑过手动提取file.zip
,但我有数百个 zip 需要更改。
在 Unix 系统中将 file.zip
的压缩级别更改为 0(仅存储)的最简单方法是什么?
最佳答案
#!/bin/bash
FILENAME=file.zip
TMP_DIR=$(mktemp -d "./XXXXX")
mkdir $TMP_DIR
unzip "$FILENAME" -d ./$TMP_DIR/
rm "$FILENAME"
cd $TMP_DIR
zip -0 -r "../$FILENAME" ./*
cd ..
rm -r $TMP_DIR
编辑:基于 Ignacio's 进行改进评论。
关于bash - 在 Unix 中将 zip 转换为存储压缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34701007/