У меня много zip-файлов a.zip, b.zip, c.zip, ... и я хочу извлечь каждую из них в новые папки a, b, c, ... соответственно через терминал.
На самом деле мне нужно решение, которое я смогу использовать позже, find
поскольку у меня на самом деле много папок 2014, 2013, 2012, ... каждая из которых содержит множество zip-файлов a.zip, b.zip и т. Д. Если я это сделаю find . -name "*.zip" -exec {} unzip \;
он распакует все файлы и поместит их в соответствующую родительскую папку.
command-line
zip
Майкл
источник
источник
Ответы:
Вы должны быть в состоянии использовать
-d
опцию unzip, чтобы установить альтернативный каталог для содержимого архива.и так далее. В
find
выражении вы должны иметь возможность получить имя для каталога из имени zip-файла, используя расширение параметра оболочки, напримерПроверьте это первое, добавляя
echo
т.е.или что-то вроде
источник
test it first…
частьfind
нужен каталог, поэтомуfind . -name ...
find
( «Если не указана отправная точка,.
предполагается.» )Я сам искал это, только чтобы понять, что уже сделал это с другими командами, и это можно применить практически ко всему, как я это уже делал.
Метод поиска сумасшедший слишком сложен без причины.
источник
.zip
суффиксом? Просить друга.Просто используйте
источник
Мне также нужно было сделать это с помощью unrar. Это может быть достигнуто путем незначительного изменения кода kencinder.
PS: я хотел добавить это как комментарий, но у меня недостаточно очков репутации!
источник