Localizar e excluir diretórios em arquivos .zip

4

Pergunta 1: Em muitos arquivos .zip, eu gostaria de deletar os diretórios para um padrão de nome. Em um diretório "normal" eu usei:

find . -type d -name "pattern" -mtime +30| xargs rm -r

É possível encontrar / excluir esses diretórios sem ter que descompactar os arquivos .zip?

Se eu tiver que descompactar, preciso zipá-los novamente depois de excluir esses arquivos, o que eu gostaria de evitar.

Eu vi alguns tópicos que recomendavam a montagem de arquivos .zip para usar os comandos do shell. Poderia funcionar para mim também? (Sou muito novo no mundo Unix).

Pergunta 2: Eu fiz como Mark disse e coloquei tudo em um loop. Ele funciona bem, mas sem pedir nada eu recebo no terminal para cada arquivo / pasta deletado uma linha: "excluindo: blabla.txt". Como é possível obter essas linhas em um arquivo de log? Apenas adicionando > > $ {logFile} após a linha de comando seria suficiente?

    
por Jean-Samuel 03.02.2014 / 17:28

1 resposta

6

Como @MarkPlotnick apontou, você pode usar padrões glob. De man zip :

zip -d foo foo/tom/junk foo/harry/\* \*.o

will remove the entry foo/tom/junk, all of the files that start with foo/harry/, and all of the files that end with .o (in any path).

    
por 03.02.2014 / 18:04

Tags