Ich habe mehrere zip-Dateien in einem Hauptverzeichnis, die rekursiv neu gepackt werden müssen. Diese Dateien enthalten Leerzeichen, Apostrophe, Unterstriche usw.
advzipfunktioniert nicht, da es sich über eine nicht unterstützte Komprimierungsmethode beschwert (ein Grund, warum sie neu gepackt werden müssen). Alle diese Dateien müssen nur entpackt / gepackt werden, da es Tausende gibt.
Dateien wurden ursprünglich unter Windows mit MP3 + G Toolz für eine Karaoke-Bibliothek erstellt.
Betriebssystem: Linux Mint 18
Drehbuchschreiben: Anfänger
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
Oben ist, was ich suche, für die meisten Par. Aber da ich nicht gut mit Skripten umgehen kann, bin ich mir nicht sicher, wie ich es für alle Zip-Dateien in Unterverzeichnissen machen soll. Beispiel eines Dateinamens:
SC0000-01 - Jemand - Something.zip
Dateien im Zip sind SC0000-01 - Jemand - Something.cdg SC0000-01 - Jemand - Something.mp3
find DirPath -name "NameMask" | while read -r z; do UnzipProgram Options "$z"; advzip Options "$z"; done. Ohne Kenntnis Ihrer Distribution oder Ihres ursprünglichen Komprimierungsprogramms kann ich keine näheren Angaben machen. Alternativ können SieadvzipIhr ursprüngliches Komprimierungsprogramm vergessen und beibehalten (dieadvzipHandbuchseite warnt vor Inkompatibilitäten).