将 zip 转换为在 Unix 中存储压缩
Convert zip to store compression in Unix
我有一个 zip 文件 file.zip
,它被压缩以保存 space,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 评论进行改进。
我有一个 zip 文件 file.zip
,它被压缩以保存 space,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 评论进行改进。