假设您从一个未压缩的目录开始,其A
结构如下:
$ tree A
A
└── inner_dir
├── file1.txt
└── file2.txt
1 directory, 2 files
现在假设您已经获得了两个zip文件1.zip
,它们2.zip
是从派生的A
。1.zip
仅包含file1.txt
,并且2.zip
仅包含file2.txt
:
# -l flag simply lists file contents
$ unzip -l 1.zip
Archive: 1.zip
Length Date Time Name
--------- ---------- ----- ----
0 2017-09-30 21:49 A/
0 2017-09-30 22:27 A/inner_dir/
0 2017-09-30 21:49 A/inner_dir/file1.txt
--------- -------
0 3 files
$ unzip -l 2.zip
Archive: 2.zip
Length Date Time Name
--------- ---------- ----- ----
0 2017-09-30 21:49 A/
0 2017-09-30 22:27 A/inner_dir/
0 2017-09-30 22:27 A/inner_dir/file2.txt
--------- -------
0 3 files
什么命令我可以用它来编程重构最初的解压目录A
从组合1.zip
和2.zip
?
上下文:从Google云端硬盘导出大型目录时,内容会分成2个或更多的zip文件。每个zip文件都包含文件的某些子集,这些子集共同构成原始目录。哪些文件包含哪个zip或多或少是随机的。我正在寻找一种解决方案,可以推广到n> 1个zip文件,而不仅仅是2个文件的特殊情况。
将要解压缩的文件集移动到专用目录,然后使用unzip
:
$ unzip '*.zip' -d combined
Archive: 1.zip
creating: combined/A/
creating: combined/A/inner_dir/
extracting: combined/A/inner_dir/file1.txt
Archive: 2.zip
extracting: combined/A/inner_dir/file2.txt
2 archives were successfully processed.
查看:
$ tree combined
combined
└── A
└── inner_dir
├── file1.txt
└── file2.txt
2 directories, 2 files
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句