我有一个 tar 文件。它的结构如下所示:
-images.tar.gz
-folder_0_image_1.jpg
-folder_0_image_2.jpg
-folder_0_image_3.png
-...
-folder_1
-folder_1_image_1.jpg
-folder_1_image_2.jpg
-...
-folder_2
-folder_2_image_1.jpg
-folder_2_image_2.jpg
-...
-folder_x ...
如何提取所有文件从根目录 具有 .jpg 扩展名?
(我想提取这些文件:文件夹_0_图像_1.jpg,folder_0_image_2.jpg...)
答案1
您需要排除子文件夹中的文件,如下所示:
tar --wildcards --exclude='*/*' -xvzf images.tar.gz '*.jpg'
解释:
--wildcards
意味着我们通过通配符指定要提取的文件,即*.jpg
- 稍后指定
--exclude='*/*'
排除(不选择提取)所有带有 a 的/
条目的选项 - 即子文件夹中的所有文件
-xvzf
eXtract、详细输出、gunZip 首先解压缩、从文件存档
images.tar.gz
当然是存档名称
'*.jpg'
文件名模式 - 我们承诺过tar
一个,这就是 - 以.jpg
.