2016-09-29 3 views
0

Я пытаюсь закрепить все папки в каталоге токов.Сжатие всех каталогов в текущей папке

Результатом должно быть то, что каждая папка становится архивом. Я имею в виду, что архивы должны иметь ту же структуру, что и папки.

Это сценарий, я писал:

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

но получить старые папки и архивы с таким же именем и файлы с полным путем внутри них. что я делаю неправильно?

ответ

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 

Это то, что я написал.

Смежные вопросы