find . -type d -name data -execdir zip -jr data/Archive.zip data ';'
Este comando find
encontrará cada diretório data
sob o diretório atual e executará
zip -jr data/Archive.zip data
em cada um dos diretórios sN
(o diretório pai dos diretórios data
). Isso também irá arquivar arquivos ocultos.
O -j
flag para zip
removerá os nomes de caminho dos arquivos adicionados ao arquivo e o arquivo será colocado dentro do diretório data
.
Isso funciona porque -execdir
basicamente faz um cd
no diretório pai da coisa encontrada antes de executar o comando.
Para evitar o diretório s3
, use
find . -type d -name data \! -path "./s3/*" -execdir zip -jr data/Archive.zip data ';'