.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