Estou tentando criar um arquivo ZIP usando a zip
ferramenta de linha de comando fornecida com o Mac OS X Terminal. Quero compactar recursivamente o conteúdo da pasta atual, mas excluindo .DS_Store
arquivos. Estou tentando com isso:
zip -r myarchive.zip . -x .DS_Store
Os -x .DS_Store
exclui o .DS_Store
arquivo na pasta atual, mas não nas subpastas recursivamente adicionados. Como excluo todos os .DS_Store
arquivos de TODAS as subpastas também?
*
arquivo expande para nada ou parte do caminho, pois o zip compacta recursivamente os arquivos e seus diretórios. Então,./.DS_Store
então./*/.DS_Store
e assim por diante são excluídos do arquivo.Na maioria das vezes, quero excluir todos os arquivos ocultos, como
.DS_Store
ou.git
ou.gitignore
Com um comando simples, você pode cuidar de tudo isso e compactar todos os arquivos e subpastas recursivamente
zip -r archive.zip folder -x "*/\.*"
Ou melhor ainda, crie uma função no zsh para facilitar a vida
open ~/.zshrc
Adicione o seguinte código na seção de aliases
Recarregue a configuração zsh
source ~/.zshrc
Use assim
zip-visible archive.zip folder
fonte