Desejo compactar uma pasta recursivamente, mas excluir determinados diretórios ( temp/.hidden
no exemplo abaixo). Eu quero que o arquivo zip tenha uma pasta de nível superior que estaria temp
no exemplo abaixo, portanto, meu diretório de trabalho é temp
.
mkdir -p temp/subdir
touch temp/subdir/keepthisfile.txt
touch temp/excludethisfile.txt
mkdir temp/.hidden
touch temp/.hidden/exclude.txt
cd temp/
O código que tenho para conseguir o que quero é
zip -r temp.zip ../temp/ -x ../temp/excludethisfile.txt ../temp/.hidden/* ../temp/.hidden/
Ou de forma mais concisa (sintaxe obtida de outro lugar online)
zip -r temp.zip ../temp/ -x ../temp/excludethisfile.txt ../temp/*.hidden*
Posso ver por que isso funcionaria, mas não consigo ver por que o código abaixo não faz a mesma coisa (ou seja, por que preciso ../temp/*.hidden*
em vez de apenas ../temp/.hidden*
?)
zip -r temp.zip ../temp/ -x ../temp/excludethisfile.txt ../temp/.hidden*