워드 프레스 타르볼에서 특정 디렉토리를 추출하고 싶습니다. 구체적 wp-includes
으로 .
. tarball 내부의 디렉토리 구조는 wordpress/wp-includes
보이지만 ./wp-includes
추출되면 주요 워드 프레스 디렉토리가 필요 하지 않습니다. 어떻게해야합니까?
워드 프레스 타르볼에서 특정 디렉토리를 추출하고 싶습니다. 구체적 wp-includes
으로 .
. tarball 내부의 디렉토리 구조는 wordpress/wp-includes
보이지만 ./wp-includes
추출되면 주요 워드 프레스 디렉토리가 필요 하지 않습니다. 어떻게해야합니까?
답변:
특정 디렉토리 (및 그 내용을 재귀 적으로)를 추출하려면 명령 행에서 추가 인수로 전달하십시오. 함께 GNU 타르 , 당신이 가진 최고의 디렉토리를 제거 할 수 있습니다 --strip-components
옵션을 (더 일반적으로 파일 이름을 변환 --transform
). Linux 이외의 시스템에서는 pax (POSIX에 있지만 일부 Linux 배포판에서는 기본 설치에서 생략) 및 -s
옵션을 사용할 수 있습니다.
tar xf foo.tar --strip-components=1 wordpress/wp-includes #GNU tar
pax -r <foo.tar -pp -s '!^wordpress/!!' wordpress/wp-includes
빈 이름에 모든 항목을 다시 쓰도록 규칙을 추가하여 포함 목록을 다시 쓰기 규칙과 병합 할 수 있습니다 (“추출하지 않음”을 의미하며, 이전 규칙이 일치하지 않은 경우에만 규칙이 적용됨).
pax -r <foo.tar -pp -s '!^wordpress/\(wp-includes/\)!\1!' -s !.*!!
GNU tar가 있다고 가정하면 다음을 사용할 수 있습니다 --strip-components
.
$ tar xaf tarball.tar.gz --strip=1 wordpress/wp-includes
BSD tar의 현재 버전도 지원한다고 생각합니다 --strip-components
. 최악의 경우 다음을 수행 할 수 있습니다.
$ tar xzf tarball.tar.gz wordpress/wp-includes
$ mv wordpress/wp-includes .
$ rmdir wordpress
wordpress
있습니까 (예 :) ? GitHub에서 추출 할 때 이것이 필요합니다. 미리 알 수없는 제거 된 구성 요소에 git 개정판이 포함 된 tarball을 생성했습니다.