Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何创建递归嵌套的zip文件_Linux_Bash_Zip - Fatal编程技术网

Linux 如何创建递归嵌套的zip文件

Linux 如何创建递归嵌套的zip文件,linux,bash,zip,Linux,Bash,Zip,这个问题的相反版本: 假设我有一个文件。我想把它压缩到1.zip,而不是压缩到1.zip到2.zip等等。我想指定数字。我怎样才能做到这一点呢?您可以编写一个简单的循环来实现这一点,尽管没有很好的理由这样做 zip_count=5 i=1 fname=data.txt while [ "$i" -lt "$zip_count" ]; do zip "$i" "$fname" fname="$i.zip" i=$((i+1)) done 你不能为了任何好处而压缩压缩文件—

这个问题的相反版本:


假设我有一个文件。我想把它压缩到1.zip,而不是压缩到1.zip到2.zip等等。我想指定数字。我怎样才能做到这一点呢?

您可以编写一个简单的循环来实现这一点,尽管没有很好的理由这样做

zip_count=5
i=1
fname=data.txt
while [ "$i" -lt "$zip_count" ]; do
    zip "$i" "$fname"
    fname="$i.zip"
    i=$((i+1))
done

你不能为了任何好处而压缩压缩文件——你到底在问什么?除了压缩数据本身之外,压缩文件总是包含少量额外的数据来实现解压缩。如果压缩一个压缩文件只保存50个字节,但您需要100个字节的额外数据,那么您将得到一个更大的文件。因为
zip
是一种容器格式,而不仅仅是一种压缩方案,如果您想将两个或多个
zip
文件合并为一个文件,这是有意义的,但是重复同一个文件没有任何意义。