최상위 디렉토리를 정리하는 방법


14

Zip 보관 파일이 있습니다. 이 unzip -l myarchive.zip명령은 다음 목록을 제공합니다.

top/subtop/files/1.txt
top/subtop/files2/2.txt
etc

루트 폴더는 모든 파일의 상단 / 하위입니다. 두 개의 최상위 / 하위 폴더없이 해당 파일을 추출하는 방법은 무엇입니까?

예를 들어 / home / myuser / public_html 디렉토리에 files/1.txt있고 files2/2.txt해당 디렉토리로 직접 추출해야합니다.

나는 시도 unzip myarchive.zip top/subtop/*했지만 어쨌든 top / subtop 디렉토리를 만들었습니다.

답변:


9

불행히도 할 수 없습니다. 당신의 유일한 진짜 옵션은 그것들을 추출한 후 옮기는 것입니다.


흠, 반갑습니다. 며칠 전 아카이브를 만들 때 실수로 위의 경로를 추가 했기 때문에이 질문을했습니다 . 따라서 추가 상단 경로로 인해 압축을 풀 때 문제가 발생했습니다. 그러나 오늘 이것을 반복 할 수는 없습니다. 오늘은 정상적으로 작동합니다. 즉, top / subtop 디렉토리에 있고 zip -r files.zip을 수행 하면 파일 경로의 접두사로 top / subtop 경로를 추가 하지 않습니다 . 나는 정확히 같은 명령을 수행한다고 생각하지만 이상하게도 결과가 다르므로 압축을 풀 때 최상위 디렉토리를 제거 할 필요가 없습니다.
camcam

로 모든 디렉토리를 무시할 수 있습니다 (모든 파일을 서로 옆에두기 만하면 됨) unzip -j.
Skylar Ittner 1

4

기능이 있고 zip 파일에서 작동 할 수 있는 tar명령 을 시도 --strip-components할 수 있습니다.


2
tar (GNU tar) 1.15.1과 작동하지 않음 :tar: This does not look like a tar archive tar: Error exit delayed from previous errors
Kevin Panko

2
FreeBSD의 tar는 ZIP 아카이브를 처리 할 수 ​​있습니다. 다른 tar 구현은 불행히도 완전한 기능을 갖춘 것은 아닙니다.
Mikhail T.

1
데비안 사용자의 경우 tar를 사용하여 zip 파일을 추출하려면 FreeBSD의 tar를 bsdtar (apt-get install bsdtar)로 사용할 수 있습니다.
Niklas B


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.