我希望自动压缩目录中每个子文件夹的内容(不包括子文件夹本身),其中所述内容的每个 .zip 对应于每个子文件夹。有没有办法在 Ubuntu 22.04 中做这样的事情?由 .zip 文件组成的输出可能位于每个子文件夹中,也可能位于某个位置中的所有子文件夹中,我不在乎。
示例:代码将读取/获取子文件夹 1 的内容并对其进行压缩,然后对子文件夹 2 执行相同的操作,依此类推。
我希望自动压缩目录中每个子文件夹的内容(不包括子文件夹本身),其中所述内容的每个 .zip 对应于每个子文件夹。有没有办法在 Ubuntu 22.04 中做这样的事情?由 .zip 文件组成的输出可能位于每个子文件夹中,也可能位于某个位置中的所有子文件夹中,我不在乎。
示例:代码将读取/获取子文件夹 1 的内容并对其进行压缩,然后对子文件夹 2 执行相同的操作,依此类推。
假设当前目录仅包含您要压缩的子目录,那么最简单的方法是:
但是,如果您在 zip 文件仍然存在的情况下再次运行它,您将得到一堆
.zip.zip
包含以前文件的文件。因此,让我们跳过非目录,并防止目录名称中出现空格:
如果你坚持不让子目录位于 zip 文件的顶层(如果你问我,这很糟糕,但我是 Linux hack),我们需要跳转到目录(又一个更喜欢的理由
tar
)zip
:有了
tar
它就会:或者
tar -cJf "$d.tar"
在那里使用进行大量(但缓慢)xz
压缩。