如何重新打包多個 zip 文件

如何重新打包多個 zip 文件

我的主目錄中有多個 zip 文件,需要遞歸地重新打包。這些檔案有空格、撇號、底線等。

advzip不起作用,因為它抱怨不支援的壓縮方法(這是它們需要重新打包的原因)。所有這些檔案都需要解壓縮,它們只需要透過一些自動化功能重新壓縮/打包,因為有數千個檔案。

檔案最初是在 Windows 下使用 MP3+G Toolz 建立的卡拉 OK 庫。

作業系統:Linux Mint 18
腳本編寫:新手

for file in *.zip
do
 unzip -j "$file"
 rm -f "$file"
 zip -mq "$file" *.mp3 *.cdg *.MP3 *.CDG *.Mp3 *.Cdg
 rm -f *.mp3 *.cdg *.MP3 *.CDG *.Mp3 *.Cdg
done

以上是我正在尋找的最標準的內容。但由於我不擅長腳本,我不確定如何為子目錄中的所有 zip 製作它。檔案名稱範例:

SC0000-01 - Someone - Something.zip

zip 中的檔案是

SC0000-01 - Someone - Something.cdg
SC0000-01 - Someone - Something.mp3

答案1

當提到 advzip 時,我假設您使用 Linux。在這裡您可以編寫一個循環每個文件的簡單腳本

for f in *; 
 do; 
 unzip $f; 
done

希望這會有所幫助,否則建議提供更多詳細資訊。

答案2

除非我只是讓事情變得比需要的更複雜:

find . -name "*.zip" -print0 | while read -d $'\0' file
do
 unzip -j "$file"
 rm -f "$file"
 zip -mq "$file" *.mp3 *.cdg *.MP3 *.CDG *.Mp3 *.Cdg
 rm -f *.mp3 *.cdg *.MP3 *.CDG *.Mp3 *.Cdg
done

相關內容