#bash #shell #zsh #unzip
#bash #оболочка #zsh #распаковать
Вопрос:
Я нашел эту команду. for f in *.zip; do unzip -d "${f%*.zip}" "$f"; done
Я хочу что-то похожее на это, но я хочу извлечь свои zip-файлы из моей ~/Downloads
папки в ~/Documents
.
Итак.
- Downloads
- zip1.zip
- zip2.zip
- zip3.zip
- Documents
- zip1/data.txt
- zip2/data.txt
- zip3/data.txt
Пожалуйста, помогите!
Ответ №1:
Просто префикс пути, который вы указываете во флаге -d, к каталогу Documents:
for f in *.zip; do unzip -d ~/Documents/"${f%*.zip}" "$f"; done
Обратите внимание, что сценарий все равно необходимо выполнить внутри вашего каталога загрузок.
Комментарии:
1. Да, спасибо, но как мне получить папку, из которой ее извлечь? Я не просто хочу
cd
попасть в папку и использовать эту команду. Я хочу сделать это из домашней папки.2. Сделайте
for f in ~/Downloads; ...
, и вы сможете сделать это из любого каталога.