
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/*
어쨌든 상위/하위 디렉토리가 생성되었습니다.
답변1
불행히도 그렇게 할 수 없습니다. 유일한 실제 옵션은 추출된 후 이동하는 것입니다.
답변2
tar
기능이 있고 --strip-components
zip 파일에서 작동할 수 있는 명령을 사용해 볼 수도 있습니다 .
답변3
JMeter를 예로 사용하면 다음과 같습니다.
# It's a good idea to set JMETER_HOME.
export JMETER_HOME=/usr/local/jmeter
unzip -q /tmp/apache-jmeter-5.4.1.zip -d $JMETER_HOME
for a in `ls -d -1 $JMETER_HOME/*`; do mv $a/* $JMETER_HOME; rmdir $a; done
간단하고 휴대 가능합니다.
답변4
모든 압축 파일을 추출한 후 이 명령을 사용하여 모든 파일을 루트 파일 디렉터리에 복사했는데 훌륭하게 작동했습니다. 엄청난 시간 절약:
for /r %f in (00P*) do @copy "%f"
(http://mlichtenberg.wordpress.com/2011/01/25/command-line-fun-how-to-platten-a-folder-hierarchy/)