Разархивировать все ZIP-файлы в целевой папке?

У меня есть завиток, который периодически загружает кучу zip-файлов в целевую папку. Вот так:

curl www.zipdownloadfile.com/file.zip > file.zip

Теперь мне нужно, чтобы Ubuntu разархивировал все ZIP-файлы в этой целевой папке.

Какова правильная команда, которая разархивирует все файлы в целевом каталоге / папке?

Спасибо

1
задан 4 January 2014 в 16:33

2 ответа

Это ваш коммандер, это разархивирует весь zip-файл в файле назначения.

find /path-to-folder -name '*.zip' -exec unzip -d destination_folder {} +

Просто попробуйте.

0
ответ дан 4 January 2014 в 16:33

Проблема здесь в том, что unzip *.zip не работает по какой-то причине. Я предполагаю, что распаковка не принимает аргументы подстановочного пути для файлов.

Ответ Nux хорош, но я использую немного другую версию команды find. Если вы перейдете в папку, в которую вы скачали все zip-файлы, вы можете просто запустить:

find . -type f -name "*.zip" -exec unzip {} \;

Это будет рекурсивно искать текущий рабочий каталог и все подкаталоги с помощью ., затем найдите только файлы, -type f, затем найдите что-нибудь с именем * .zip with -name and it will execute unzip exec unzip and substitute the result of the search which is the full file name and place it with {} after the unzip command as the argument. \; `просто магический синтаксис, чтобы сказать 'I' м сделано команда завершена. '.

В Ubuntu 16.04 это все еще работало для меня, чтобы разархивировать все файлы в текущем каталоге после загрузки огромного количества.

Аналогичная команда может также использоваться для отмены набора одновременно загруженных rar-файлов:

find . -type f -name "*.rar" -exec unrar x -e {} \;

Приведенная выше магическая команда будет искать все файлы в текущем каталог и все папки и файлы рекурсивно в подкаталогах, чтобы найти все файлы, которые заканчиваются на .rar, а затем развернуть их непосредственно в текущем рабочем каталоге.

Допустим, вы хотите распаковать кучу вещей, которые вы только что загрузили:

Fri Nov 17 10:56 AM Downloads: tree .
.
├── download1
│   ├── show01.r00
│   ├── show01.r01
│   ├── show01.r02
│   └── show01.rar
├── download2
│   ├── movie01.r00
│   ├── movie01.r01
│   ├── movie01.r02
│   ├── movie01.r03
│   └── movie01.rar
└── download3
    ├── program01.r00
    ├── program01.r01
    ├── program01.r02
    ├── program01.r03
    └── program01.rar

3 directories, 14 files

Это лишь небольшой пример, в котором вы можете иметь 20 или даже 40 разных фальцовщиков, каждый из которых содержит своего собственного мастера. .zip-файл или .rar-файл, который должен быть unrar'd. Внедрение компакт-диска в каждый отдельный каталог для загрузки с использованием «unrar» требует много времени и затрат. Просто используйте команду поиска!

sudo apt-get install unzip
sudo apt-get install unrar
cd ~/Downloads
find . -type f -name "*.rar" -exec unrar x -e {} \;
find . -type f -name "*.zip" -exec unzip {} \;
0
ответ дан 4 January 2014 в 16:33

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

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