我有一个zip文件file.zip
,压缩后可以通过Unix zip命令设置9(压缩更好)设置来节省空间。
我考虑过手动提取file.zip
,但我需要更改数百个拉链。
在Unix系统中将file.zip
的压缩级别更改为0(仅存储)的最简单方法是什么?
答案 0 :(得分:2)
#!/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评论进行改进。