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