Как рекурсивно сжать подпапки?
Несколько часов билась головой об стену...
пытаясь рекурсивно сжать подпапки, но только файлы в них. Я пытался изменить этот скрипт:
for i in */*/; do zip -j -r "${i%/}.zip" "$i" ; done
Это почти идеально, но у заархивированных файлов все еще есть фактическая подпапка с файлами в этом. Ожидаемый результат будет иметь только файлы в zip-файле, а не подпапку, содержащую файлы.
Любая помощь приветствуется. Спасибо
1 ответ
В руководстве по zip уже есть что-то лучшее, что использует find
man zip
Модифицируя это немного становится
find . -type f -exec zip source {} \;
Вы можете использовать его после cd
в нужную папку, или вы можете заменить .
с этим, как
find ~/Downloads/ -type f -exec zip source {} \;