7zip: como excluir tipos de arquivo?

6

Desejo excluir os seguintes tipos de arquivo:

  • epub
  • pdf
  • html (maiúsculas também)
  • azw3
  • mobi
  • opf
  • txt

Eu tenho até agora o que parece não funcionar, eu recebo um erro dizendo "Linha de Comando Incorreta".

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

Eu também tentei o comando acima sem aspas duplas.

Eu criei o comando acima usando informações de aqui (para windows) mas parece não funcionar no Linux.

    
por daka 07.07.2015 / 16:38

3 respostas

6

7z só aceita um único arquivo dentro de seus argumentos, mas você está passando um caractere curinga que se expande para o conteúdo completo do diretório de trabalho atual; Outra questão é que também os curingas dentro dos argumentos se expandirão também, se não citados ou citados duas vezes.

Portanto, você deve extrair apenas um único arquivo por comando; você deve remover o curinga no final, especificar um único arquivo e citar os argumentos:

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

Para extrair vários arquivos ao mesmo tempo, você pode usar vários métodos:

  • 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' {} \;
    
por kos 07.07.2015 / 17:40
6

De man 7z :

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

Para excluir o arquivo (ou tipos), você pode usar o seguinte comando:

  

7z a [email protected] backup.7z /whatever/dirs/or/files

Observe -xr em vez de -x . O r indica recursivo para poder corresponder aos arquivos excluídos nas hierarquias de pastas profundas

O arquivo exclude.txt é uma lista separada por retornos de carro como este:

*.epub
*.pdf
*.html 
*.HTML
*.azw3
*.mobi
*.opf
*.txt
    
por Ron 07.07.2015 / 17:37
-1

Se você quiser excluir o diretório completo (você pode ter este arquivo de extensão separado no diretório)

 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' 

Aqui, fornecedor , visualizar e documentos foi excluído.

    
por manish1706 02.11.2017 / 07:29