추출하려면
우리는 zipinfo
이 과정의 일부로 사용할 수 있으며 zip
패키지 의 프로그램입니다 .
zipinfo -2 example.zip
의 파일 이름 만 표시됩니다 example.zip
.
file1-long-name-...-bla-bla.html
file2-long-name-...-bla-bla.html
이 기능을 사용하여 모든 파일을 추출 할 수 있습니다.
zipinfo -2 example.zip | while read i;
do
long_fname=${i%.*}
unzip -p -c example.zip "$i" > "${long_fname:0:250}.${i##*.}"
done;
long_fname=${i%.*}
: 파일 이름이 256 자 미만인 경우 긴 파일 이름에서 확장자를 제거합니다. 중복 확장자를 얻지 못할 것입니다.
${long_fname:0:250}.${i##*.}
: 합법적 인 문자 수로 새 파일 이름을 작성 .
하고 파일 확장명을 추가합니다.
간단히 우리는 파일 목록으로 루핑하고 256 문자 인 새로운 합법적 인 파일 이름으로 각 파일을 추출합니다.
이름을 바꾸려면
zipnote
명령 을 사용할 수 있으며 zip
패키지 의 일부이기도 합니다.
zip 파일의 백업을 먼저 받으십시오.
이 명령을 실행하십시오 :
zipnote example.zip > names
편집기를 사용하여 이름을 열면 다음과 같습니다.
@ file name long in zip and a lot of other strings in the file name
@ (comment above this line)
@ (zip file comment below this line)
다음과 같이 새 파일 이름을 추가하십시오.
@ file name long in zip and a lot of other strings in the file name
@=new short name for above file
@ (comment above this line)
@ (zip file comment below this line)
그런 다음 파일 이름을 바꾸려면 다음을 사용하십시오.
zipnote -w example.zip < names
이름을 모두 바꾸고 자동으로 수행하는 간단한 스크립트를 작성할 수도 있습니다.
unzip -l <ARCHIVE>
이며 어떻게 이름을 자르기를 원합니까? 추출 중에 아카이브 내부의 디렉토리 구조를 유지 하시겠습니까?