解壓縮如何修剪頂級目錄

解壓縮如何修剪頂級目錄

我有一個 zip 檔案。該unzip -l myarchive.zip命令給出了以下列表:

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

根資料夾是所有文件的頂部/子頂部。如何在沒有兩個頂部/子頂部資料夾的情況下提取這些檔案?

例如,當我位於 /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/

相關內容