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,폴더_0_이미지_2.jpg...)
답변1
다음과 같이 하위 폴더의 파일을 제외해야 합니다.
tar --wildcards --exclude='*/*' -xvzf images.tar.gz '*.jpg'
설명하다:
--wildcards
와일드카드로 추출할 파일을 지정한다는 의미입니다. 즉 *.jpg
, 나중에 지정하십시오.
--exclude='*/*'
포함된 모든 항목을 제외(추출하도록 선택하지 않음)하는 옵션 /
- 즉, 하위 폴더의 모든 파일
-xvzf
eXtract, 자세한 출력, gunZip 먼저 압축 풀기, 파일에서 보관
images.tar.gz
물론 아카이브 이름
'*.jpg'
파일 이름 패턴 - 우리는 tar
하나를 약속했고 이것이 바로 입니다 .jpg
.