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_image_1.jpg、フォルダ_0_image_2.jpg...)
答え1
次のようにサブフォルダーのファイルを除外する必要があります。
tar --wildcards --exclude='*/*' -xvzf images.tar.gz '*.jpg'
説明する:
--wildcards
ワイルドカードに抽出するファイルを指定するという意味です。つまり*.jpg
、後で指定してください。
--exclude='*/*'
含まれているすべてのアイテムを除外(抽出することを選択しない)するオプション/
- つまり、サブフォルダ内のすべてのファイル
-xvzf
eXtract、詳細出力、gunZip最初に解凍、ファイルからアーカイブ
images.tar.gz
もちろん、アーカイブ名
'*.jpg'
ファイル名パターン - 私たちはtar
1つを約束し、これが正しいです.jpg
。