У меня есть завиток, который периодически загружает кучу zip-файлов в целевую папку. Вот так:
curl www.zipdownloadfile.com/file.zip > file.zip
Теперь мне нужно, чтобы Ubuntu разархивировал все ZIP-файлы в этой целевой папке.
Какова правильная команда, которая разархивирует все файлы в целевом каталоге / папке?
Спасибо
Это ваш коммандер, это разархивирует весь zip-файл в файле назначения.
find /path-to-folder -name '*.zip' -exec unzip -d destination_folder {} +
Просто попробуйте.
Проблема здесь в том, что 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 {} \;