解压缩如何修剪顶级目录

cam*_*cam 15 linux zip

我有一个 zip 存档。该unzip -l myarchive.zip命令给出了这个清单:

top/subtop/files/1.txt
top/subtop/files2/2.txt
etc
Run Code Online (Sandbox Code Playgroud)

根文件夹是所有文件的顶部/子顶部。如何在没有两个 top/subtop 文件夹的情况下提取这些文件?

例如,当我在/ home / myuser的/ public_html目录,files/1.txtfiles2/2.txt768,16直接解压到该目录。

我试过了,unzip myarchive.zip top/subtop/*但它还是创建了顶级/子顶级目录。

小智 11

不幸的是,你不能。您唯一真正的选择是在提取它们后移动它们。


小智 6

您可能想尝试该tar命令,它有一个--strip-components功能并且可以对 zip 文件进行操作。

  • 不适用于 tar (GNU tar) 1.15.1:`tar:这看起来不像 tar 存档 tar:错误退出延迟从以前的错误` (2认同)
  • FreeBSD 的 tar 可以处理 ZIP 档案。不幸的是,其他 tar 实现的功能并不完整。 (2认同)
  • 对于 debian 用户,如果您想使用 tar 解压缩 zip 文件,FreeBSD 的 tar 可以作为 bsdtar (apt-get install bsdtar) 使用。 (2认同)