tar 파일의 루트 디렉터리에서 특정 확장자를 가진 파일을 추출하는 방법은 무엇입니까?

tar 파일의 루트 디렉터리에서 특정 확장자를 가진 파일을 추출하는 방법은 무엇입니까?

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.

관련 정보