Find

如何解壓縮一些帶有 zip 文件的目錄,其中還包含帶有 zip 文件的子目錄?

  • February 21, 2017

我有4 個文件夾,每個文件夾裡面都有一個XML文件夾,其中包含zip 文件和一些帶有 zip 文件的文件夾

所有 zip 文件都包含 XML 格式的文件

/A/XML/:
 BDL_DCR_20170216.zip
 BDL_BPR_20170218.zip
 .
 .
/A/XML/zipped:
 BDL_CPR_20170221.zip
 BDL_BPR_20170220.zip
 .
 .

/B/XML/:
 BDL_DCR_20170216.zip
 BDL_BPR_20170218.zip
 .
 .
/B/XML/20170221/:
 BDL_DCR_20170216.zip
 BDL_BPR_20170218.zip
 .
 .
/B/XML/zipped/:      BDL_DCR_20170216.zip
 BDL_BPR_20170218.zip
 .
 .

其餘的具有相似的模式

`/C/XML-20170221, *.zip`

`/D/XML-20170221, 20170220, 20170219`

我想解壓縮所有文件並將其保存到某個目錄X

我試圖通過以下方式解壓縮其中一個:

find /home/A/XML -type f -name "*.zip" | unzip /home/A/XML/*

&得到以下錯誤:

Archive:  /home/A/BDL_XM_20170221.zip
caution: filename not matched:  /home/A/XML/ZIPPED
caution: filename not matched:  /home/A/XML/20170221.zip

我在想也許有什麼問題unzip /home/A/XML/*原因在簡單的情況下是解壓縮/home/A/XML/*.zip

誰能建議我如何一次性解壓縮所有文件夾?如何解壓縮所有zip 文件帶有 zip 文件的文件夾

非常感謝,感謝您的幫助:)

未經測試但嘗試

find /home/A/XML -type f -name "*.zip" -exec unzip '{}' -d /target/path \;

稍後會有人提醒我xargs改用。

引用自:https://unix.stackexchange.com/questions/346511