Estou tentando compactar um diretório (no Unix via SSH), mas preciso excluir alguns subdiretórios (e todos os arquivos e diretórios dentro deles).
Até agora eu tenho isso:
zip -r myarchive.zip dir1 -x dir1/ignoreDir/**/*
Mas isso não parece funcionar.
Eu também tentei
zip -r myarchive.zip dir1 -x dir1/ignoreDir1/* dir1/ignoreDir2/*
No entanto, isso ainda incluirá subdiretórios em ignoreDir1 e ignoreDir2.
A estrutura do subdiretório nos diretórios que desejo excluir é bastante substancial, portanto não posso simplesmente adicionar cada diretório ao argumento -x.
Alguém sabe como fazer isso?
Respostas:
Eu estava tão perto!
O comando real que eu preciso é:
fonte
Para o meu sistema em particular, a fim de excluir um diretório, eu tive que colocar aspas nos meus diretórios excluídos e funcionou como um encanto:
Notas:
- isso excluiu o diretório a ser excluído e todos os arquivos dentro dele.
- Você deve usar o caminho completo para os diretórios que deseja excluir!
fonte
zip
, o que receberá uma lista de caminhos para entradas nos diretórios especificados, mas não caminhos para arquivos dentro dos subdiretórios desses, fazendozip
com que não ignore tudo nos diretórios especificados.@sulman usando:
ainda incluirá a pasta dir1 / ignoreDir1 / vazia no arquivo zip, usando:
Se você fizer o truque, também poderá usar um ** líder para pesquisar subpastas em vez de apenas dir1
fonte
O seguinte fará
O que você precisava
**
, @sulman?Funciona como um encanto para mim da seguinte maneira:
fonte
Assim como outras respostas, mas excluindo diretórios completamente, em vez de excluir todo o conteúdo dos diretórios:
fonte
Eu encontrei este trabalho de David R Heffelfinger :
Excluiu o diretório e seu conteúdo.
fonte
dir1
eignorDir2
deve ser uma barra para a frente. Você quer dizer que as outras barras invertidas sejam barras invertidas? Se sim, você acabou de copiar a resposta de fuzzybee de dois anos atrás.Para mim funcionou: zip -9 -r ~ / folded.zip online -x folder / folder2 / folder3 / foldern / \ * .
Parece que o asterisco deve ser escapado.
fonte