Как распаковать в данный каталог

EUREKA !!!

Поскольку мой NAS является Netgear reaadynas 1100, он запускает собственную систему Unix CIFS. Имя пользователя и пароль, которые я должен был использовать, НЕ относятся к домену, а фактически к системе NAS.

Итак, я перешел на пароль администратора + администратора NAS и все работает !!

3
задан 11 January 2018 в 14:19

3 ответа

Используйте флаг -d.

unzip -d output_dir/ zipfiles.zip

Чтобы автоматизировать его:

#!/bin/bash
for i in `cat outfile.txt`; do
    output_dir=$(dirname $i)
    unzip -d $output_dir $i
done

EDIT: Как предлагает @dessert, вы можете сделайте это как лучшую альтернативу:

while IFS='' read -r i || [[ -n "$i" ]]; do unzip -d ${i%/*} $i; done <outfile.txt
2
ответ дан 22 May 2018 в 15:36
  • 1
    Это сломается на одном пробеле в пути, вы должны использовать read. Кроме того, оболочка bash может выполнять работу dirname с расширением параметра: while IFS='' read -r i || [[ -n "$i" ]]; do unzip -d ${i%/*} $i; done <outfile.txt. – dessert 11 January 2018 в 14:18
  • 2
    спасибо :) Отредактировано включить ваш ответ @dessert – Mukesh Sai Kumar 11 January 2018 в 15:30

Используйте флаг -d.

unzip -d output_dir/ zipfiles.zip

Чтобы автоматизировать его:

#!/bin/bash for i in `cat outfile.txt`; do output_dir=$(dirname $i) unzip -d $output_dir $i done

EDIT: Как предлагает @dessert, вы можете сделайте это как лучшую альтернативу:

while IFS='' read -r i || [[ -n "$i" ]]; do unzip -d ${i%/*} $i; done <outfile.txt
2
ответ дан 17 July 2018 в 23:22

Используйте флаг -d.

unzip -d output_dir/ zipfiles.zip

Чтобы автоматизировать его:

#!/bin/bash for i in `cat outfile.txt`; do output_dir=$(dirname $i) unzip -d $output_dir $i done

EDIT: Как предлагает @dessert, вы можете сделайте это как лучшую альтернативу:

while IFS='' read -r i || [[ -n "$i" ]]; do unzip -d ${i%/*} $i; done <outfile.txt
2
ответ дан 24 July 2018 в 13:53

Другие вопросы по тегам:

Похожие вопросы: