【发布时间】:2011-12-27 19:37:06
【问题描述】:
如果我选择一个 zip 文件并右键单击“在此处提取”,则会创建一个带有 zip 文件名的文件夹,并将 zip 文件的全部内容提取到其中。
但是,我想通过 shell 转换几个 zip 文件。 但是当我这样做时
unzip filename.zip
文件夹"filename"没有创建,但所有文件都被解压到当前目录中。
我查看了参数,但没有这样的参数。 我也试过了
for zipfile in \*.zip; do mkdir $zipfile; unzip $zipfile -d $zipfile/; done
但是 2.$zipfile 和 4.$zipfile 的 .zip 扩展名必须用 sed 删除。
如果我这样做了
for zipfile in \*.zip; do mkdir sed 's/\.zip//i' $zipfile; unzip $zipfile -d sed 's/\.zip//i' $zipfile/; done
它不工作。
如何正确替换$zipfile 的.zip 扩展?
有没有比 shell 脚本更简单的方法?
【问题讨论】: