如何在Linux下解压缩多个文件?
时间:2020-01-09 10:42:23 来源:igfitidea点击:
我在/disk2/images /目录中有很多文件。
所有文件均为zip文件格式,因此我正在使用以下命令提取zip文件:unzip * .zip
该命令导致出现如下错误:
caution: filename not matched
注意:文件名不匹配
Linux/Unix的系统下如何解压缩多个zip文件?
类似于Linux或者Unix的系统使用unzip命令来列出,测试或者从ZIP归档文件中提取文件,该文件通常在MS-DOS系统上找到。
Linux上多个zip文件的问题
假设您在/disk2/images /目录中有四个文件,如下所示:
- pictures.zip
- visit.zip
- data.zip
- invoices.zip
让我们用ls命令验证它:
$ ls
输出示例:
data.zip invoices.zip pictures.zip visit.zip
要解压缩所有文件,请执行:
$ unzip *.zip
输出示例:
Archive: data.zip caution: filename not matched: invoices.zip caution: filename not matched: pictures.zip caution: filename not matched: visit.zip
以上错误表明您错误地使用了unzip命令。
这意味着从data.zip存档中提取invoices.zip,pictures.zip和visit.zip文件。
您的shell将命令unzip * .zip展开,如下所示:
unzip data.zip invoices.zip pictures.zip visit.zip
当您想使用通配符解压缩文件时,解决方案非常简单。
您有以下两种选择。
#1:使用单引号将多个文件解压缩
从Linux命令行解压缩多个文件的语法如下:
unzip '*.zip'
执行以下命令,如下所示:
$ cd /disk2/images/ $ unzip '*.zip' $ ls -l
注意:* .zip放在两个单引号之间,因此shell不会将其识别为通配符。
#2:使用Shell for Loop从Linux命令行解压缩多个文件
您还可以如下使用for循环:
for z in *.zip; do unzip $z; done