如果我选择一个zip文件并右键单击“解压缩”,则会创建一个带有zip文件的文件夹,并将zip文件的全部内容解压缩到该文件夹中。创建zip文件的文件夹并解压缩到
但是,我想通过shell转换几个zip文件。 但是当我做
unzip filename.zip
的文件夹"filename"
没有创建,但所有的文件解压缩到当前目录。
我看过参数,但没有这样的参数。 我也试过
for zipfile in \*.zip; do mkdir $zipfile; unzip $zipfile -d $zipfile/; done
但.zip
延伸的2 $ zip文件和4 $ 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脚本更简单的方法?
谢谢,作品像一个魅力。 – jack
但我不明白为什么$ 0包含完整的文件名和$ 1而不是“.zip”扩展名? – jack
@jack我将“.zip”定义为FS(字段分隔符)。所以001.zip会被分成两部分“001”和“”。 $ 1是第一个字段。而$ 0是awk中“001.zip”的整行,该字段从1开始计数,而不是0. – Kent