Linux 如何解压我的子目录中的所有zip文件夹?
我的文件夹结构Linux 如何解压我的子目录中的所有zip文件夹?,linux,bash,terminal,zip,Linux,Bash,Terminal,Zip,我的文件夹结构 drwx------ 2 miki miki 4096 сеп 12 2018 Chapter03/ drwx------ 2 miki miki 4096 сеп 12 2018 Chapter05/ drwx------ 2 miki miki 4096 сеп 12 2018 Chapter07/ drwx------ 2 miki miki 4096 сеп 12 2018 Chapter09/ drwx------ 2 miki miki 4096 сеп 12
drwx------ 2 miki miki 4096 сеп 12 2018 Chapter03/
drwx------ 2 miki miki 4096 сеп 12 2018 Chapter05/
drwx------ 2 miki miki 4096 сеп 12 2018 Chapter07/
drwx------ 2 miki miki 4096 сеп 12 2018 Chapter09/
drwx------ 2 miki miki 4096 сеп 12 2018 Chapter10/
drwx------ 2 miki miki 4096 сеп 12 2018 Chapter13/
drwx------ 2 miki miki 4096 сеп 12 2018 Chapter14/
-rw-r--r-- 1 miki miki 96 сеп 12 2018 README.txt
每章包含更多的zip文件夹。
我试过这样做
unzip -d $(find ./ -type f -name '*.zip')
这是行不通的
Archive: ./Chapter14/kops-master.zip
4ffc8d76f1313a2f2a04a87d543a0701816c3df7
checkdir: cannot create extraction directory: ./Chapter14/weave-kube-master.zip
File exists
正确的命令应该是什么样子?试试:
find . -type f -name '*.zip' -exec unzip {} \;
这将对通过find
命令找到的每个zip文件运行unzip
即使zip文件或目录的名称中有空格或其他难以识别的字符,上述操作也会起作用。因为zip文件可能包含/nest zip文件,我们不知道在
find
命令中读取文件的顺序。最好运行两次或三次find
命令。对应于zip嵌套级别
find . -type f -name '*.zip' -exec unzip {} \;
find . -type f -name '*.zip' -exec unzip {} \;
find . -type f -name '*.zip' -exec unzip {} \;
-d
参数应该是目录,而不是zip文件。您的代码正在执行类似于解压-d my.zip
的操作,这毫无意义。您需要类似于解压my.zip-d my_dir
的内容。或者干脆解压我的.zip
。另见。