tar.gz 아카이브에서 특정 폴더 만 추출하려면 어떻게해야합니까?


3

아카이브가 있다고 가정 website.tar.gz하면 내부에는 다음 폴더 구조가 있습니다.

home  
  -mike 
    -www
      -coolwebsite
        file1
        file2
        file3
        etc.

achive를 추출하면 정확히 동일한 폴더 계층 구조를 다시 만듭니다 (물론). 예를 들어 현재 어떤 폴더에 "coolwebsite"폴더 만 추출 할 수있는 방법이 있기를 바랐습니다.

따라서 서버에 mydir/있고 추출 website.tar.gz하면 coolwebsite모든 이전 폴더가없는 결과가 폴더가 되기를 원합니다 . 가능합니까?

답변:


3

이것을 시도하십시오 :

tar xvf tarfile --strip=4 ./home/mike/www/coolwebsite/*

"."를 포함하여 4 단계의 디렉토리로 제거해야합니다.

편집 : 추가 옵션 Z (즉, 타르 xzvf ...) 입력 파일 인 경우 gzip을 '에드


1
이 명령은 GNU tar 1.23에서 작동하지 않았습니다 (오류 : tar: ./Symfony/*: Not found in archive. ./그러나 경로 에서 부품을 제거했을 때 작동했습니다 . 그리고 예, 아카이브 내부의 최상위 디렉토리 이름이 Symfony임을 확인할 수 있습니다. 추가 할 --wildcards. 옵션은 어쩌면이 대답은 업데이 트를 필요가 있겠습니까?
Hubro

그것은 나를 위해 작동하지 않았다. 그러나 GNU tar 에서는 다음 스위치가 나를 위해 일했습니다 --strip-components=4.
Tristan Jahier
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.