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

标签 bash unix zip compression

我有一个 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/

相关文章:

unix - 为什么守护进程被称为守护进程?

linux - 具有相同名称的本地和 NIS 用户 - chown

python - 如何将创建的 Zip 文件保存到 python 中的文件系统?

C# 从 azure 存储容器路径解压缩文件

linux - rm -r 和 rm -R 有区别吗?

perl - 合并来自不同文件的列

带前缀的 Linux 解压

bash - 如何在 bash 中快速杀死 java 进程?

php - tar 提取后,更改权限

python - 如何在 python 中检测 mime 类型的文件?