У меня есть каталог файлов ZIP (созданный на машине Windows). Я могу вручную распаковать их, используя unzip filename
, но как я могу распаковать все файлы ZIP в текущей папке через оболочку?
Использование Ubuntu Linux Server.
Это работает в Bash, по этой ссылке :
распаковать \ *. zip
Просто вставьте несколько цитат, чтобы избежать подстановочного знака:
источник
Следующий скрипт bash извлекает все zip-файлы в текущем каталоге в новые dir-файлы с именем файла zip-файла, то есть:
Следующие файлы:
Будет извлечено для:
Сценарий оболочки:
источник
"
к имени файлараспакуйте * .zip, или если они находятся в подпапках, то что-то вроде
источник
gzip'ed
файлов используйтеgunzip -rfk .
для рекурсивного распаковывания внутри соответствующих папокРазархивируйте все
.zip
файлы и сохраните содержимое в новой папке с тем же именем и в той же папке, что и.zip
файл:Это расширение ответа @ phatmanace и адреса @ RishabhAgrahari :
источник
gzip'ed
файлов используйтеgunzip -rfk .
для рекурсивного распаковывания внутри соответствующих папокfind: illegal option -- n
использования UnZip 6.00 - кто-нибудь еще?find . -name '*.zip' -exec sh -c 'unzip -d "${1%.*}" "$1"' _ {} \;
Вы забыли список каталогов.Это позволит распаковать все ZIP-архивы в новые папки с именами файлов Zip-архивов.
a.zip
b.zip
c.zip
будет распакован вa
b
c
папки соответственно.источник
aunpack -e *.zip
, сatool
установленным. Преимущество в том, что он работает с ошибками и всегда распаковывает в подкаталоги, если zip не содержит только один файл. Таким образом, нет опасности загрязнения текущей директории массами файлов, как в случае сunzip
zip без структуры каталогов.источник
В любой оболочке POSIX это разархивирует в отдельный каталог для каждого zip-файла:
источник
for file in *.zip; do unzip "$file" -d "${file%.zip}"; done
Использовать это:
источник
for file in 'ls *.zip'; do unzip "${file}" -d "${file:0:-4}"; done
источник
for file in *.zip; do ...
правильно?Если файлы есть
gzip'd
. Тогда просто используйте:из корневого каталога для рекурсивного извлечения файлов в соответствующих каталогах, сохраняя исходные (или удаляя,
-k
чтобы удалить их)источник
Это вариант ответа Педро Лобито, в котором используется рекурсивный цикл по каталогу для удаления файлов с определенными инструкциями расширений :
источник
источник
Чтобы разархивировать все файлы в каталоге, просто введите этот cmd в терминале:
источник
использование
разархивировать папку в linux
источник