unzip 如何修剪顶部目录

unzip 如何修剪顶部目录

我有一个 zip 存档。该unzip -l myarchive.zip命令给出以下列表:

top/subtop/files/1.txt
top/subtop/files2/2.txt
etc

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

例如,当我在 /home/myuser/public_html 目录中时,files/1.txt应该files2/2.txt直接提取到该目录。

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

答案1

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

答案2

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

答案3

以JMeter为例:

# It's a good idea to set JMETER_HOME.
export JMETER_HOME=/usr/local/jmeter
unzip -q /tmp/apache-jmeter-5.4.1.zip -d $JMETER_HOME
for a in `ls -d -1 $JMETER_HOME/*`; do mv $a/* $JMETER_HOME; rmdir $a; done

簡單、便携。

答案4

解压所有压缩文件后,我使用此命令将所有文件复制到我的根文件目录,效果很好。节省了大量时间:

for /r %f in (00P*) do @copy "%f" 

http://mlichtenberg.wordpress.com/2011/01/25/command-line-fun-how-to-flatten-a-folder-hierarchy/

相关内容