
이것은 SO에 매우 가깝습니다.압축된 아카이브에서 특정 폴더만 특정 디렉터리로 추출하는 방법은 무엇입니까? 가까운 것이 필요하지만 내용만 있는 것이 아니라 항상 내용이 있는 폴더를 가져옵니다. 제안된 내용은 다음과 같습니다.
#note $2 is passed in and would be == "magefoler"
unzip /srv/file.zip "$2-master/*" -d /srv/www/mage/
이 구조가 포함된 zip을 가져오려면 어떻게 해야 합니까?
file.zip
|-magefoler-master/
|-magefoler-master/app/*tons of files
|-magefoler-master/skin/*tons of files
다른 폴더로 이동해야 하는데 을(를) 이동할 수 없고 및 폴더 magefoler
만 이동하고 싶습니다 . 이는 항상 두 폴더라는 의미는 아니며, 그 안에 있는 하위 콘텐츠, 파일 또는 폴더만 꺼내야 한다는 의미입니다. 피하려고 하는 것은 모든 것을 폴더로 내보낸 다음 거기에서 이동하는 것입니다.app
skin
magefoler
내가 찾고 있는 최종 결과는 /mage
다음과 같이 폴더에 출력한 zip 파일에서 나온 것입니다.
/srv/www/mage/
|--/mage/app/*tons of files
|--/mage/skin/*tons of files
답변1
여기에 압축을 풀면 안 되나요?
$ unzip /srv/file.zip "$2-master/*" -d /srv/www/
그런 다음 폴더를 다음 magefoler-master
으로 이동하거나 이름을 바꿉니다 mage
.
$ mv /srv/www/magefoler-master /srv/www/mage
대안?
과거에 이 정확한 문제를 조사하면서 mv
.
- Gilles가 FUSE를 사용하면 다음과 같이 제안됩니다.압축을 풀 때 하위 디렉터리를 생성하지 않도록 unzip/zip을 강제로 적용하려면 어떻게 해야 합니까?
zipnote
파일을 추출하기 전에 도구를 사용하여 zip 아카이브 내에서 파일을 이동합니다.