7zip : 파일 형식을 제외하는 방법?


9

다음 파일 형식을 제외하고 싶습니다.

  • epub
  • pdf
  • html (대문자)
  • azw3
  • 모비
  • opf
  • txt

지금까지 작동하지 않는 것 같습니다. "잘못된 명령 줄"이라는 오류가 발생합니다.

7z e "-x!*.epub" "-x!*.pdf" "-x!*.html" "-x!*.azw3" "-x!*.mobi" "-x!*.txt" "-x!*.HTML" "-x!*.opf" *

또한 큰 따옴표없이 위의 명령을 시도했습니다.

여기 에서 정보를 사용하여 위의 명령을 만들었지 만 (Windows의 경우) Linux에서는 작동하지 않는 것 같습니다.

답변:


10

7z인수 내에 단일 아카이브 만 허용하지만 현재 작업 디렉토리의 전체 컨텐츠로 확장되는 와일드 카드를 전달합니다. anothe 이슈는 인용 부호 또는 인용 부호가없는 경우 인수 내의 와일드 카드도 확장된다는 것입니다.

따라서 명령 당 하나의 아카이브 만 추출해야합니다. 마지막에 와일드 카드를 제거하고 단일 아카이브를 지정하고 인수를 작은 따옴표로 묶어야합니다.

7z e '-x!*.epub' '-x!*.pdf' '-x!*.html' '-x!*.azw3' '-x!*.mobi' '-x!*.txt' '-x!*.HTML' '-x!*.opf' archive.7z

그러나 한 번에 여러 아카이브를 추출하려면 여러 방법을 사용할 수 있습니다.

  • bash:
for archive in *.7z; do 7z e '-x!*.epub' '-x!*.pdf' '-x!*.html' '-x!*.azw3' '-x!*.mobi' '-x!*.txt' '-x!*.HTML' '-x!*.opf' "$archive"; done
  • find:
find . -maxdepth 1 -type f -iname "*.7z" -exec 7z e '-x!*.epub' '-x!*.pdf' '-x!*.html' '-x!*.azw3' '-x!*.mobi' '-x!*.txt' '-x!*.HTML' '-x!*.opf' {} \;

압축을 풀어야 할 아카이브가 많으므로 마지막에 와일드 카드를 사용하여 모든 아카이브를 추출합니다.
daka

@sudoman이 기능이 지원 7z됩니까? 하나의 아카이브로 시도해야합니까?
kos

테스트 결과, 7zip은 실제로 와일드 카드를 사용하여 주어진 디렉토리 내에서 여러 파일을 선택할 수 없도록합니다.
daka

@Ron 동의하지만 여기서 문제는 OP가 한 번에 여러 아카이브를 추출 할 수 없다는 것입니다. 그러나 게시물을 upvoted
kos

@sudoman 원래 명령에서 또 다른 결함을 발견했으며 한 번에 여러 아카이브를 추출하는 몇 가지 방법을 추가했습니다.
kos

10

보낸 사람 man 7z:

-x[r[-|0]]]{@listfile|!wildcard}
              Exclude filenames

파일 (또는 유형)을 제외하려면 다음 명령을 사용할 수 있습니다.

7z a -xr@exclude.txt backup.7z /whatever/dirs/or/files

-xr대신에 유의하십시오 -x. 그만큼r 이 깊은 폴더 계층 구조에서 제외 된 파일을 일치시킬 수 있도록 재귀 표시

파일 exclude.txt은 다음과 같이 캐리지 리턴으로 구분 된 목록입니다.

*.epub
*.pdf
*.html 
*.HTML
*.azw3
*.mobi
*.opf
*.txt

-2

전체 디렉토리를 제외하려는 경우 (이 확장 파일을 디렉토리로 분리 할 수 ​​있음)

 7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on ~/bkpFile_$(date +"%d_%b_%Y").1.7z /home/ubuntu/projectfile -mx0 '-xr!vendor' '-xr!view' '-xr!documents' 

여기에서 vendor , viewdocuments 디렉토리가 제외되었습니다.


1
sudo? 그리고 이것이 기존 답변에 무엇을 추가합니까?
muru
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.