2016-09-29 3 views
0

Ich versuche alle Ordner im aktuellen Verzeichnis zu komprimieren.Alle Verzeichnisse im aktuellen Ordner komprimieren

Das Ergebnis sollte sein, dass jeder Ordner ein Archiv wird. Ich meine, dass Archive die gleiche Struktur wie Ordner haben sollten.

Dies ist das Skript schrieb ich:

find ~/data_archive_dir \ 
-maxdepth 1 \ 
-type d \ 
! -iname "*.zip" \ 
! -iname "*.bz2" \ 
! -iname "*.gz" \ 
-exec zip -r "{}" "{}" \; 

aber alte Ordner und Archive mit demselben Namen und Dateien mit vollständigem Pfad in sie bekommen. was mache ich falsch?

Antwort

0
for l_dir in ~/data_archive_dir/*/ 
do 
    pushd ~/data_archive_dir/ 
    zip -r $(basename "${l_dir}").zip $(basename "${l_dir}") 
    popd 
    rm -r "${l_dir}" 
done 

das habe ich geschrieben.

Verwandte Themen