Когда я пытаюсь
unzip filename.zip
оно работает. Однако мне нужно распаковать серию zip-файлов.
Почему:
find . -name "*.zip" -print0 | xargs -0 unzip
или
ls *.zip | xargs unzip
не работает?
В обоих случаях я получаю сообщение «Внимание: имя файла не совпадает:».
command-line
zip
jeannoburto
источник
источник
unzip *
и он вернулсяcaution: filename not matched
для каждого файла, ноunzip '*.zip'
сделал свою работу.Ваши команды не работают, потому что они помещают все файлы в одну командную строку. Хотя это работает с большинством программ,
unzip
первый аргумент будет приниматься как zip-файл, а любой после первого - как файлы, извлекаемые из него. Вам необходимо выполнить команду один раз для каждого файла:Или
источник
В bash вы также можете сделать следующее:
Также
unzip
можно взять-d
переключатель, чтобы вы могли направить выход в разных местах.Например:
источник
Существует гораздо более простое решение, чем приведенное выше, с использованием
-d
флага каталога :источник
-d
указывает каталог для извлечения, а не каталог для поиска файлов.