Разархивируйте кучу застежек-молний в свои собственные каталоги

У меня есть куча zip файлов, которые я хочу разархивировать в Linux в свой собственный каталог. Например:

a1.zip a2.zip b1.zip b2.zip

будет распакован в:

a1 a2 b1 б2

соответственно. Есть ли простой способ сделать это?

Ответы

Ответ 1

for file in *.zip
do
  unzip -d "${file%.zip}" $file
done

Ответ 2

for zipfile in *.zip; do
    exdir="${zipfile%.zip}"
    mkdir "$exdir"
    unzip -d "$exdir" "$zipfile"
done

Ответ 3

for x in $(ls *.zip); do
 dir=${x%%.zip}
 mkdir $dir
 unzip -d $dir $x
done

Ответ 4

Извините за добавление к старому посту, это работает для меня в строке cmd, и я узнал об этом из жизни.

for file in $(ls *.zip); do unzip $file -d $(echo $file | cut -d . -f 1); done

Вуаля!