Відповіді:
unzip <target-zip-file> '<folder-to-extract/*>' -d <destination-path>
прекрасно працює на EL 6
"\\"ви хочете буквальний зворотний проріз, він буде використаний (інакше вам завжди слід пам’ятати, які символи - це спеціальні втечі). Отже, різниця в цитуванні, якщо автор мав на увазі "цитування глобального символу" (непотрібне). Так чи інакше, такий похилий зворотній кут - це друкарська помилка.
Спробуйте:
unzip /path/to/archive.zip 'in/archive/folder/*' -d /path/to/unzip/to
caution: filename not matched: foldername/\*коли біжу, unzip $repozip "$2-master/\*" -d /srv/www/magento/де $2ім'я папки на блискавці, я хочу витягнути всі файли та папки з
"path/*".
mvфайли там, де вони мені потрібні.
-jдля цього.
-jзнімає всю інформацію про шлях, і всі файли переходять у цільову папку. Чи є спосіб видалити лише загальну частину шляху? Акін на блискавку -r.
Два існуючих відповіді є обома правильними, але вказати цільовий каталог трохи складно, що слід краще уточнити.
Скажімо, /target/root/це цільовий дір після оригінальної розпакування, наприклад:
unzip -qq src.zip -d "/target/root/"
Потім нам потрібно використовувати те саме /target/root/, що і цільовий dir згодом, хоча ми хочемо витягнути лише певний підкаталог, як працює розпакування:
unzip -qq src.zip "sub/dir/*" "/target/root/"
Зрештою, правило насправді просте, використовуйте ту саму цільову кореневу директорію для -dпараметра .
До речі, -qqопція полягає в тому, щоб розпакувати дійсно тихо, сміливо зніміть його.