파일 tar 아카이브를 다른 디렉터리로 추출합니다.

파일 tar 아카이브를 다른 디렉터리로 추출합니다.

.tar.gz다음 파일을 포함할 수 있는 파일이 있습니다 .

folder1/folder2/folder3/imp_folder1/file11.jpg
folder1/folder2/folder3/imp_folder1/file12.jpg
folder1/folder2/folder3/imp_folder2/file21.jpg
folder1/folder2/folder3/imp_folder3/file31.jpg
...
...

다음 디렉토리에 추출하고 싶습니다.

/new_folder1/new_folder2/imp_folder1/file11.jpg
/new_folder1/new_folder2/imp_folder1/file12.jpg
/new_folder1/new_folder2/imp_folder2/file21.jpg
/new_folder1/new_folder2/imp_folder3/file31.jpg
...
...

기본적 folder1/folder2/folder3/으로 로 교체해야 합니다 /new_folder1/new_folder2/.

수백 또는 수천 개의 파일이 될 것이므로 이를 수행하는 가장 빠른 방법은 무엇입니까?

답변1

의견에 가능한 답변에 대한 링크가 있지만 다른 접근 방식을 제안하고 싶습니다. 원래 디렉터리 트리와 동일한 위치에 디렉터리 트리를 생성하고 folder1/folder2/folder3바꾸려는 경로( )를 새 위치( /new_folder1/new_folder2)에 연결할 수 있습니다.

cd /tmp
mkdir -p folder1/folder2
ln -s /new_folder1/new_folder2 folder1/folder2/folder3

--keep-directory-symlink그런 다음 플래그(버전 1.27부터 존재)를 추가하여 아카이브를 추출할 수 있습니다.

tar --keep-directory-symlink -zxvf tarball.tar.gz

관련 정보