如何使用单个命令将目录中的每个文件解压缩到与文件同名的新唯一目录中

bob*_*bob 12 bash unzip

我有一个充满zip文件的目录.每个都称为'files1.zip'.我的直觉是使用bash for循环来解压缩每个文件.

麻烦的是,许多文件会将其内容直接解压缩到父目录中,而不是将所有内容展开到它们自己的唯一目录中.所以,我得到文件汤.

我想确保'files1.zip'将所有文件倒入一个名为'files1'的目录中,依此类推.

作为一个额外的复杂功能,一些文件名有空格.

我怎样才能做到这一点?

谢谢.

Rol*_*lig 17

for f in *.zip; do
  dir=${f%.zip}

  unzip -d "./$dir" "./$f"
done
Run Code Online (Sandbox Code Playgroud)