zip 아카이브 ( -j -r
플래그 가있는 스크립트에서 자동으로 생성됨 )가 있고 여기에서 단일 파일을 제거하고 싶습니다. 나는 문서화 된대로 시도했다.
zip -d "picture_43_9.jpg" gallery.zip
하지만이 오류가 발생합니다.
zip warning: picture_43_9.jpg not found or empty
zip error: Nothing to do! (picture_43_9.jpg)
어쨌든, 거기에 있다 아카이브 내부의 이러한 파일과 비어되지 않습니다 :
unzip -l .../gallery.zip | grep -i 43_9.jpg
1477092 2013-05-22 14:23 picture_43_9.jpg
내가 뭘 잘못하고 있는지에 대한 아이디어가 있습니까?
인수를 바꿨습니다. 이 시도:
zip -d gallery.zip "picture_43_9.jpg"
로부터 우편 (1) 매뉴얼 페이지
-d
--delete
zip 아카이브에서 항목을 제거 (삭제)합니다. 예를 들면 :
zip -d foo foo/tom/junk foo/harry/\* \*.o
항목
foo/tom/junk
,로 시작하는foo/harry/
모든 파일 및.o
(모든 경로에서)로 끝나는 모든 파일을 제거합니다 . 셸 경로 이름 확장은 백 슬래시로 금지되었으므로 zip 에서 별표를 볼 수 있으므로 zip 이 현재 디렉토리의 내용 대신 zip 아카이브 의 내용과 일치 할 수 있습니다. (MSDOS 기반 플랫폼에서는 백 슬래시를 사용하지 않습니다.) 따옴표를 사용하여 다음과 같이 별표를 이스케이프 할 수도 있습니다.
zip -d foo foo/tom/junk "foo/harry/*" "*.o"
쉘이 와일드 카드를 확장하는 시스템에서 별표를 이스케이프하지 않으면 별표가 현재 디렉토리의 파일 목록과 아카이브에서 항목을 삭제하는 데 사용되는 목록으로 변환 될 수 있습니다.
MSDOS에서 -d 는 zip 아카이브의 이름과 일치 할 때 대소 문자를 구분합니다 . MSDOS 시스템에서 PKZIP으로 압축 된 파일 이름은 대문자로 입력해야합니다. (우리는 경로의 경우를 구분했다 시스템에서이 경우를 구분을 고려하지만, 아카이브는 경우가 문제 않는 시스템에서 와서 아카이브가 모두 포함 할 수있다
Bar
및bar
아카이브에 별도의 파일로.) 그러나 새로운 옵션을 볼 수 - ic 는 아카이브에서 대소 문자를 무시합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다