在Unix中将zip转换为存储压缩

时间:2016-01-10 01:27:30

标签: bash unix zip compression

我有一个zip文件file.zip,压缩后可以通过Unix zip命令设置9(压缩更好)设置来节省空间。

我考虑过手动提取file.zip,但我需要更改数百个拉链。

在Unix系统中将file.zip的压缩级别更改为0(仅存储)的最简单方法是什么?

1 个答案:

答案 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评论进行改进。