Разархивируйте файлы из нескольких подкаталогов в одну папку в MacOs для начинающих - PullRequest
0 голосов
/ 25 мая 2020

Я новичок в ma c и считаю, что это то, что я ищу в поиске. Могу ли я просто ввести это в терминал, как показано ниже? Может кто-нибудь объяснить шаг за шагом для новичка, как ma c?

У меня есть 1000 подпапок с несколькими zip-файлами в каждой, которые нужно разархивировать в одну папку

find ./ -name * .zip -exe c unzip {} \;

Что делать, если я пытаюсь распаковать их в другое место на жестком диске. Где мне разместить вывод на другой жесткий диск?

Спасибо

Ответы [ 2 ]

0 голосов
/ 25 мая 2020

Да, вы должны ввести это на своем терминале, с этими аргументами вы должны находиться в каталоге, в котором находятся zip-файлы, чтобы он работал. Что он делает:

find - это команда, которая позволяет вам «находить» файлы, первый аргумент ./ сообщает find, где начать поиск, в данном случае текущая папка, вы можете указать find для поиск в любую папку, которую вы хотите, заменив этот аргумент. Пример find /Users/me/Documents -name *.zip сообщает, какие файлы искать, в этом случае любой файл с расширением .zip, вы должны использовать -iname *.zip только в том случае, если у вас есть файлы с в любом случае (расширение zip в верхнем или нижнем регистре), -exec сообщает find, что вы хотите выполнить программу для каждого найденного файла, в этом случае вы хотите выполнить команду te unzip, наконец, {} сообщает find, где использовать файл, который он нашел в качестве аргумента для программы, которую вы хотите вызвать с помощью exe c, а \; отмечает конец команды exe c

0 голосов
/ 25 мая 2020

Вы можете попробовать что-то вроде этого:

find . -type f -name '*.zip' -exec unzip {} -d ~/zipout/ \;

при условии, что у вас есть папка с именем zipout в вашем домашнем каталоге.

В командной строке попробуйте сделать это:

$> man unzip

Вы увидите его синтаксис:

unzip [-Z] [-cflptTuvz[abjnoqsCDKLMUVWX$/:^]] file[.zip] [file(s) ...]  [-x xfile(s) ...] [-d exdir]

См. Переключатель -d. Это сообщает unzip, куда поместить извлеченные файлы / папки.

[- d exdir] Необязательный каталог, в который следует извлекать файлы. По умолчанию все файлы и подкаталоги воссоздаются в текущем каталоге; опция -d позволяет извлекать данные в произвольном каталоге (всегда при условии, что у кого-то есть разрешение на запись в каталог).

Итак, это вариант, который я использовал вместе с find и exe c.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...