其实linux有几个命令都是用于解压缩的。这里就举例unzip
例如在一个文件夹里你又许多.zip 文件,如1.zip, 2.zip, 3.zip ......。如果想把它们解压缩到同一个文件夹(举例名为unzipped),命令为:
unzip '*.zip' -d unzipped
*可以根据共同前后缀灵活运用。
但是这样我还是不满意。 在同一个文件夹后,解压做的1.zip, 2.zip等分别又给我建立了不同的子文件夹,比如说文件夹1,2,3. 如果能保证每个文件夹里的文件名字都不重合。那可以这样干,还以上面已经被命名为unzipped的文件夹举例,假设子文件夹都在unzipped里面,你可以选择合并后的名字,还叫unzipped或者其他的名字,这里就叫它unzipped2, 那你需要的命令就是下面的:
find unzipped -depth \( -type f -exec mv -i {} unzipped2 \; \) -o \( -type d -empty -delete \)
这样你就会建立一个叫unzipped2的文件夹。所有前面1.zip,2.zip里面的文件都被解压缩放进unzipped2里面了。
注意,如果你不同的子文件里有包含相同名字的文件,你需要额外的处理。这里我没有这个需求,所以我就贴个参考链接上来,有问题再来参考吧:
https://stackoverflow.com/questions/9314434/merging-sub-folders-together-linux