Создайте отдельную папку для каждого zip-файла в каталоге и извлеките zip-файлы

Если я выберу zip-файл и щелкну правой кнопкой мыши «извлечь сюда», будет создана папка с именем zip-файла, и в нее будет извлечено все содержимое zip-файла.

Однако я хотел бы преобразовать несколько zip-файлов через оболочку. Но когда я сделаю

unzip filename.zip

, папка «filename» не создается, но все файлы извлекаются в папку Текущий каталог.

Я просмотрел параметры, но такого параметра нет. Я также пробовал

for zipfile in \*.zip; do mkdir $zipfile; unzip $zipfile -d $zipfile/; done

, но расширение .zip для файлов 2. $ zipfile и 4. $ zipfile имеет для удаления с помощью sed. Если я сделаю

for zipfile in \*.zip; do mkdir sed 's/\.zip//i' $zipfile; unzip $zipfile -d sed 's/\.zip//i' $zipfile/; done 

, это не сработает.

Как правильно заменить расширение .zip для $ zipfile ?

Есть ли более простой способ, чем сценарий оболочки?

48
задан el-teedee 5 October 2018 в 03:57
поделиться